OCamllabs icon Home|Differences with the last checks|Previous runs


Building on x86-bm-c9.sw.ocaml.org

(from ocaml/opam:debian-unstable)
Unable to find image 'ocaml/opam:debian-unstable' locally
debian-unstable: Pulling from ocaml/opam
63563b31af74: Pulling fs layer
63563b31af74: Verifying Checksum
63563b31af74: Download complete
63563b31af74: Pull complete
Digest: sha256:8f6038a9795a3c7cc61b90b742e29558b247d69f92f73dea67cb146602ff83f6
Status: Downloaded newer image for ocaml/opam:debian-unstable
2025-03-03 14:26.20 ---> using "0acd5aeaa8f7bc314514d9795d14a7f12ec72a6a5b11c5904350189734c6859b" from cache

/: (user (uid 1000) (gid 1000))

/: (env OPAMPRECISETRACKING 1)

/: (env OPAMUTF8 never)

/: (env OPAMEXTERNALSOLVER builtin-0install)

/: (env OPAMCRITERIA +removed)

/: (env CI true)

/: (env OPAM_HEALTH_CHECK_CI true)

/: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2025-03-03 14:26.20 ---> using "40df4fa4cdfc68a5fa7a326047e82a7adc5df52b8059d4a7b745bdd50aad56e7" from cache

/: (run (network host)
        (shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q ef90a2b03158d292539672d3f7cbaadbc9686e00"))
2025-03-03 14:26.20 ---> using "f8a7eaeb9f5c92be7084e0f999dd7e7e4a1eefb297e66373751e952159afda2d" from cache

/: (run (shell "rm -rf ~/.opam && opam init -ya --bare --config ~/.opamrc-sandbox ~/opam-repository"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.


<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised

User configuration:
  ~/.profile is already up-to-date.
[NOTE] Make sure that ~/.profile is well sourced in your ~/.bashrc.

2025-03-03 14:26.20 ---> using "1ebcf8e3761a93ad88b5037369014c0e29617030bb8dd94d78d6dedd98943762" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
        (network host)
        (shell "opam switch create --repositories=default '5.3' '5.3.0'"))

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "5.3.0"} | "ocaml-system" {= "5.3.0"}]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-config.3  (cached)
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> installed ocaml-options-vanilla.1
-> retrieved ocaml-compiler.5.3.0  (cached)
-> installed ocaml-compiler.5.3.0
-> installed ocaml-base-compiler.5.3.0
-> installed ocaml-config.3
-> installed ocaml.5.3.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env --switch=5.3)
2025-03-03 14:26.20 ---> using "f3fc5dd5dfcbe8e5493a4563bca5034ac862b7842eb9f16d453e6549334b9a79" from cache

/: (run (network host)
        (shell "opam update --depexts"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian unstable InRelease [205 kB]
- Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB]
- Err:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index
-   Couldn't find the start of the patch series
- Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB]
- Ign:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages [10.1 MB]
- Fetched 10.4 MB in 2s (4667 kB/s)
- Reading package lists...
- 
2025-03-03 14:26.20 ---> using "9a78c93989d5550bb49e48632a1de75ead785056e5e8a108c010951463436220" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
        (network host)
        (shell "opam pin add -k version dune $(opam show -f version dune)"))
dune is now pinned to version 3.17.2

The following actions will be performed:
=== install 1 package
  - install dune 3.17.2 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.17.2  (cached)
-> installed dune.3.17.2
Done.
# To update the current shell environment, run: eval $(opam env)
2025-03-03 14:26.20 ---> using "8c970a2b6e083fc728908364a8d3768a0f4ede73a1fdaf0ff7dd6771a2ecdd96" from cache

/: (env DUNE_CACHE enabled)

/: (env DUNE_CACHE_TRANSPORT direct)

/: (env DUNE_CACHE_DUPLICATION copy)

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
        (network host)
        (shell "curl -fsSL https://get.dune.build/install | sh"))

#=#=#                                                                          
##O#-#                                                                         
                                                                           0.1%
                                                                           1.2%
##                                                                         3.4%
########                                                                  12.5%
##################                                                        26.1%
##################################################################        92.1%
######################################################################## 100.0%
dune x86_64-unknown-linux-musl was installed successfully to ~/.local/bin/dune 

To use dune you will need to source the file "$HOME/.local/share/dune/env/env.bash" (or similar as appropriate for your shell)
  export PATH="/home/opam/.local/bin:$PATH" 

To get started, run: 
  dune --help 
2025-03-03 14:26.20 ---> using "14aa2861c13f12cb4ee28b98952b1839ff48cfaf20d65aa237f68c77954270eb" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
        (network host)
        (shell  "sudo apt-get install -y python3-sexpdata && echo 'import sexpdata\
               \nwith open(\"dune-project\", \"r\") as f:\
               \n    content = [i for i in sexpdata.loads(\"(\" + f.read() + \")\") if not i[0] == sexpdata.Symbol(\"package\")]\
               \n    print(sexpdata.dumps(content[0]))\
               \n    for i in content[1:]:\
               \n        print(sexpdata.dumps(i))' > /tmp/opam-health-check-remove-package.py"))
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types
  python3 python3-minimal python3.13 python3.13-minimal
Suggested packages:
  python3-doc python3-tk python3-venv python3.13-venv python3.13-doc
  binfmt-support
The following NEW packages will be installed:
  libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types
  python3 python3-minimal python3-sexpdata python3.13 python3.13-minimal
0 upgraded, 9 newly installed, 0 to remove and 70 not upgraded.
Need to get 5893 kB of archives.
After this operation, 23.1 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian unstable/main amd64 libpython3.13-minimal amd64 3.13.2-1 [859 kB]
Get:2 http://deb.debian.org/debian unstable/main amd64 python3.13-minimal amd64 3.13.2-1 [2205 kB]
Get:3 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.13.2-1 [27.1 kB]
Get:4 http://deb.debian.org/debian unstable/main amd64 media-types all 12.0.0 [28.9 kB]
Get:5 http://deb.debian.org/debian unstable/main amd64 libpython3.13-stdlib amd64 3.13.2-1 [1979 kB]
Get:6 http://deb.debian.org/debian unstable/main amd64 python3.13 amd64 3.13.2-1 [745 kB]
Get:7 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.13.2-1 [10.0 kB]
Get:8 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.13.2-1 [28.1 kB]
Get:9 http://deb.debian.org/debian unstable/main amd64 python3-sexpdata all 1.0.2-1 [9940 B]
Fetched 5893 kB in 0s (79.7 MB/s)
Selecting previously unselected package libpython3.13-minimal:amd64.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19826 files and directories currently installed.)
Preparing to unpack .../libpython3.13-minimal_3.13.2-1_amd64.deb ...
Unpacking libpython3.13-minimal:amd64 (3.13.2-1) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../python3.13-minimal_3.13.2-1_amd64.deb ...
Unpacking python3.13-minimal (3.13.2-1) ...
Setting up libpython3.13-minimal:amd64 (3.13.2-1) ...
Setting up python3.13-minimal (3.13.2-1) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20151 files and directories currently installed.)
Preparing to unpack .../python3-minimal_3.13.2-1_amd64.deb ...
Unpacking python3-minimal (3.13.2-1) ...
Selecting previously unselected package media-types.
Preparing to unpack .../media-types_12.0.0_all.deb ...
Unpacking media-types (12.0.0) ...
Selecting previously unselected package libpython3.13-stdlib:amd64.
Preparing to unpack .../libpython3.13-stdlib_3.13.2-1_amd64.deb ...
Unpacking libpython3.13-stdlib:amd64 (3.13.2-1) ...
Selecting previously unselected package python3.13.
Preparing to unpack .../python3.13_3.13.2-1_amd64.deb ...
Unpacking python3.13 (3.13.2-1) ...
Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../libpython3-stdlib_3.13.2-1_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.13.2-1) ...
Setting up python3-minimal (3.13.2-1) ...
Selecting previously unselected package python3.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20601 files and directories currently installed.)
Preparing to unpack .../python3_3.13.2-1_amd64.deb ...
Unpacking python3 (3.13.2-1) ...
Selecting previously unselected package python3-sexpdata.
Preparing to unpack .../python3-sexpdata_1.0.2-1_all.deb ...
Unpacking python3-sexpdata (1.0.2-1) ...
Setting up media-types (12.0.0) ...
Setting up libpython3.13-stdlib:amd64 (3.13.2-1) ...
Setting up libpython3-stdlib:amd64 (3.13.2-1) ...
Setting up python3.13 (3.13.2-1) ...
Setting up python3 (3.13.2-1) ...
running python rtupdate hooks for python3.13...
running python post-rtupdate hooks for python3.13...
Setting up python3-sexpdata (1.0.2-1) ...
2025-03-03 14:26.20 ---> using "8c20028a802cbf97b7848eb86323ea18fc654d771517c3a444280a798b3cba6f" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
        (network host)
        (shell  "PLACE=$(mktemp -d) && cd $PLACE && echo '(lang dune 3.17)\
               \n(package\
               \n  (name dummy)\
               \n  (allow_empty true)\
               \n  (depends (ocaml (= 5.3.0))))' > dune-project && PATH=$HOME/.local/bin:$PATH dune pkg lock && PATH=$HOME/.local/bin:$PATH dune build"))
Solution for dune.lock:
- ocaml.5.3.0
- ocaml-base-compiler.5.3.0
- ocaml-compiler.5.3.0
- ocaml-config.3
 Downloading ocaml-compiler.5.3.0
    Building ocaml-compiler.5.3.0
    Building ocaml-base-compiler.5.3.0
2025-03-03 14:26.20 ---> using "ed5574b30d6a55598c49402afe63541d40e6d3df78b5f1b3d250ee114712f692" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
        (network host)
        (shell  "cd $HOME && opam source beluga.1.1.2 && cd beluga.1.1.2 && for opam in *.opam; do opam show --raw ${opam%.opam} > $opam; done && python3 /tmp/opam-health-check-remove-package.py > dune-project-new && mv dune-project-new dune-project && sudo apt-get remove -y python3-sexpdata && sudo apt-get autoremove -y && opam install ./ --depext-only --with-test --with-doc && echo '(lang dune 3.17)\
               \n(lock_dir\
               \n (repositories overlay  default))\
               \n\
               \n(repository\
               \n (name default)\
               \n (url \"file:///home/opam/opam-repository\"))\
               \n\
               \n\
               \n' > dune-workspace && PATH=$HOME/.local/bin:$PATH dune pkg lock && PATH=$HOME/.local/bin:$PATH dune build --profile=release || (echo \"opam-health-check: Build failed\" && exit 1)"))
Successfully extracted to /home/opam/beluga.1.1.2
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types
  python3 python3-minimal python3.13 python3.13-minimal
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python3-sexpdata
0 upgraded, 0 newly installed, 1 to remove and 70 not upgraded.
After this operation, 46.1 kB disk space will be freed.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20630 files and directories currently installed.)
Removing python3-sexpdata (1.0.2-1) ...
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
  libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types
  python3 python3-minimal python3.13 python3.13-minimal
0 upgraded, 0 newly installed, 8 to remove and 70 not upgraded.
After this operation, 23.0 MB disk space will be freed.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20622 files and directories currently installed.)
Removing python3 (3.13.2-1) ...
Removing libpython3-stdlib:amd64 (3.13.2-1) ...
Removing python3.13 (3.13.2-1) ...
Removing libpython3.13-stdlib:amd64 (3.13.2-1) ...
find: '/usr/lib/python3': No such file or directory
Removing python3-minimal (3.13.2-1) ...
Removing python3.13-minimal (3.13.2-1) ...
Unlinking and removing bytecode for runtime python3.13
Removing libpython3.13-minimal:amd64 (3.13.2-1) ...
find: '/usr/lib/python3': No such file or directory
Removing media-types (12.0.0) ...
[ERROR] Package conflict!
  * No agreement on the version of ocaml-base-compiler:
    - (invariant) -> ocaml-base-compiler >= 5.3.0
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-base-compiler < 5.1.2~
    You can temporarily relax the switch invariant with `--update-invariant'
  * Incompatible packages:
    - (invariant) -> ocaml-base-compiler >= 5.3.0
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> dkml-base-compiler
  * Incompatible packages:
    - (invariant) -> ocaml-base-compiler >= 5.3.0
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants
  * Missing dependency:
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-base-compiler (= 3.10.0 | = 3.10.1 | = 3.10.2 | = 3.11.0 | = 3.11.1 | = 3.11.2 | = 3.12.0 | = 3.12.1 | = 4.00.0 | = 4.00.1 | = 4.01.0 | = 4.02.0 | = 4.02.1 | = 4.02.2 | = 4.02.3) -> base-ocamlbuild
    unknown package
  * Missing dependency:
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> xenbigarray
    unknown package
  * Missing dependency:
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> base-ocamlbuild
    unknown package
  * Missing dependency:
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> ocaml-beta
    unmet availability conditions: 'enable-ocaml-beta-repository'
  * Missing dependency:
    - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> system-msvc
    unmet availability conditions: 'os = "win32"'

Solution for dune.lock:
- angstrom.0.16.1
- astring.0.8.5
- base.v0.17.1
- base-bytes.base
- base-unix.base
- bigstringaf.0.10.0
- bisect_ppx.2.8.3
- camlp-streams.5.0.1
- cmdliner.1.3.0
- conf-timeout.1
- cppo.1.8.0
- csexp.1.5.2
- dune-build-info.3.17.2
- dune-configurator.3.17.2
- either.1.0.0
- extlib.1.8.0
- fix.20230505
- fpath.0.7.3
- gen.1.1
- linenoise.1.5.1
- menhir.20240715
- menhirCST.20240715
- menhirLib.20240715
- menhirSdk.20240715
- ocaml.5.1.1
- ocaml-base-compiler.5.1.1
- ocaml-compiler-libs.v0.12.4
- ocaml-config.3
- ocaml-syntax-shims.1.0.0
- ocaml-version.3.7.3
- ocaml_intrinsics_kernel.v0.17.1
- ocamlbuild.0.16.1+dune
- ocamlfind.1.9.8+dune
- ocamlformat.0.25.1
- ocamlformat-lib.0.25.1
- ocp-indent.1.8.1
- omd.2.0.0~alpha4
- ounit2.2.2.7
- ppx_derivers.1.2.1
- ppxlib.0.35.0
- re.1.12.0
- result.1.5
- sedlex.3.3
- seq.base
- sexplib0.v0.17.0
- stdio.v0.17.0
- stdlib-shims.0.3.0
- stringext.1.6.0
- topkg.1.0.7
- uri.4.4.0
- uucp.16.0.0
- uunf.16.0.0
- uuseg.16.0.0
- uutf.1.0.3
- yojson.2.2.2
 Downloading ocaml-base-compiler.5.1.1
    Building ocaml-base-compiler.5.1.1
    Building ocaml-config.3
    Building ocaml.5.1.1
    Building seq.base
 Downloading yojson.2.2.2
    Building yojson.2.2.2
    Building base-unix.base
 Downloading ocaml-syntax-shims.1.0.0
    Building ocaml-syntax-shims.1.0.0
 Downloading csexp.1.5.2
    Building csexp.1.5.2
 Downloading stringext.1.6.0
    Building stringext.1.6.0
 Downloading dune-configurator.3.17.2
    Building dune-configurator.3.17.2
 Downloading bigstringaf.0.10.0
    Building bigstringaf.0.10.0
 Downloading angstrom.0.16.1
    Building angstrom.0.16.1
 Downloading uri.4.4.0
    Building uri.4.4.0
 Downloading stdlib-shims.0.3.0
 Downloading gen.1.1
    Building stdlib-shims.0.3.0
    Building gen.1.1
 Downloading ppx_derivers.1.2.1
 Downloading sexplib0.v0.17.0
    Building ppx_derivers.1.2.1
    Building sexplib0.v0.17.0
 Downloading ocaml-compiler-libs.v0.12.4
    Building ocaml-compiler-libs.v0.12.4
 Downloading ppxlib.0.35.0
    Building ppxlib.0.35.0
 Downloading sedlex.3.3
    Building sedlex.3.3
 Downloading ounit2.2.2.7
    Building ounit2.2.2.7
 Downloading dune-build-info.3.17.2
 Downloading cmdliner.1.3.0
    Building cmdliner.1.3.0
 Downloading ocamlfind.1.9.8+dune
    Building dune-build-info.3.17.2
    Building ocamlfind.1.9.8+dune
 Downloading ocamlbuild.0.16.1+dune
    Building ocamlbuild.0.16.1+dune
 Downloading topkg.1.0.7
    Building topkg.1.0.7
 Downloading uutf.1.0.3
    Building uutf.1.0.3
 Downloading uunf.16.0.0
    Building uunf.16.0.0
 Downloading uucp.16.0.0
    Building uucp.16.0.0
 Downloading omd.2.0.0~alpha4
    Building omd.2.0.0~alpha4
    Building base-bytes.base
 Downloading astring.0.8.5
    Building astring.0.8.5
 Downloading uuseg.16.0.0
 Downloading fix.20230505
    Building uuseg.16.0.0
    Building fix.20230505
 Downloading menhirLib.20240715
 Downloading menhirSdk.20240715
 Downloading menhirCST.20240715
    Building menhirLib.20240715
    Building menhirSdk.20240715
    Building menhirCST.20240715
 Downloading result.1.5
 Downloading ocaml_intrinsics_kernel.v0.17.1
    Building result.1.5
    Building ocaml_intrinsics_kernel.v0.17.1
 Downloading re.1.12.0
 Downloading ocaml-version.3.7.3
    Building re.1.12.0
    Building ocaml-version.3.7.3
 Downloading either.1.0.0
 Downloading camlp-streams.5.0.1
    Building either.1.0.0
    Building camlp-streams.5.0.1
 Downloading ocp-indent.1.8.1
    Building ocp-indent.1.8.1
 Downloading base.v0.17.1
    Building base.v0.17.1
 Downloading menhir.20240715
    Building menhir.20240715
 Downloading fpath.0.7.3
    Building fpath.0.7.3
 Downloading stdio.v0.17.0
    Building stdio.v0.17.0
 Downloading ocamlformat-lib.0.25.1
    Building ocamlformat-lib.0.25.1
 Downloading ocamlformat.0.25.1
    Building ocamlformat.0.25.1
 Downloading linenoise.1.5.1
    Building linenoise.1.5.1
 Downloading cppo.1.8.0
    Building cppo.1.8.0
 Downloading extlib.1.8.0
    Building extlib.1.8.0
    Building conf-timeout.1
 Downloading bisect_ppx.2.8.3
    Building bisect_ppx.2.8.3
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/syntax/synint/.synint.objs/byte -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I src/support/.support.objs/byte -I src/syntax/syncom/.syncom.objs/byte -no-alias-deps -o src/syntax/synint/.synint.objs/byte/synint.cmo -c -impl src/syntax/synint/synint.ml)
File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60:
629 | ....function
630 |     | PatNil -> PatNil
631 |     | PatApp (loc, p, pS) ->
632 |        PatApp (loc, strip_pattern p, strip_pattern_spine pS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -intf-suffix .ml -no-alias-deps -o src/syntax/synint/.synint.objs/native/synint.cmx -c -impl src/syntax/synint/synint.ml)
File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60:
629 | ....function
630 |     | PatNil -> PatNil
631 |     | PatApp (loc, p, pS) ->
632 |        PatApp (loc, strip_pattern p, strip_pattern_spine pS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Order.cmo -c -impl src/core/order.ml)
File "src/core/order.ml", lines 26-34, characters 2-23:
26 | ..function
27 |   | I.Arg x -> Some [x]
28 |   | I.Lex xs ->
29 |      let f =
30 |        function
31 |        | I.Arg x -> Some x
32 |        | _ -> None (* We don't support nested lexicographic orders. *)
33 |      in
34 |      List.traverse f xs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Simul _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Erase.cmo -c -impl src/core/erase.ml)
File "src/core/erase.ml", lines 6-19, characters 2-33:
 6 | ..match (tau, n) with
 7 |   | (_, 0) -> 0
 8 |   | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1)
 9 |   | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) ->
10 |     (* We count [Inductive] as 1 instead of throwing an error because
...
16 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) ->
17 |     1 + numeric_order_arg tau (n - 1)
18 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) ->
19 |     numeric_order_arg tau (n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypPiBox (_, DeclOpt _, _), 1)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Substitution.cmo -c -impl src/core/substitution.ml)
File "src/core/substitution.ml", lines 105-124, characters 4-44:
105 | ....match (n, s) with
106 |     | (_, Undefs) -> Undef
107 |     | (1, Dot (ft, _s)) -> ft
108 |     | (n, Dot (_ft, s)) -> bvarSub (n - 1) s
109 |     | (n, Shift k) -> Head (BVar (n + k))
...
121 |            Free BVar (n + k) ... -bp *)
122 |        Head (HClo (n + k, s, sigma))
123 |     | (n, MSVar (k, ((s, t), sigma))) ->
124 |        Head (HMClo (n + k, ((s, t), sigma)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, (EmptySub|FSVar (_, _)))

File "src/core/substitution.ml", lines 156-159, characters 12-73:
156 | ............function
157 |             | (Last u, 1) -> u
158 |             | (Cons (u, _), 1) -> u
159 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last u, 0)

File "src/core/substitution.ml", lines 166-169, characters 12-73:
166 | ............function
167 |             | (Last u, 1) -> u
168 |             | (Cons (u, _), 1) -> u
169 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last u, 0)

File "src/core/substitution.ml", lines 147-194, characters 7-10:
147 | .......begin match bvarSub n s with
148 |        | Head (BVar x) ->
149 |           Head (Proj (BVar x, k))
150 | 
151 |        | Head (PVar _ as h) ->
...
191 |        | Head (AnnH _ ) -> failwith "Found head that is AnnH"
192 |        | Head (MMVar _ ) -> failwith "Found head that is MMVar"
193 |        | Head _ -> failwith "Found head that is not a BVar or PVar"
194 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/substitution.ml", lines 203-206, characters 12-73:
203 | ............function
204 |             | (Last u, 1) -> (u, s)
205 |             | (Cons (u, _), 1) -> (u, s)
206 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last u, 0)

File "src/core/substitution.ml", lines 197-210, characters 7-10:
197 | .......begin match frontSub (Head h) s with
198 |        | Head h' ->
199 |           Head (Proj (h', k))
200 | 
201 |        | Obj (Tuple (_, tuple)) ->
...
207 |           in
208 |           (*              Obj (Clo (nth s (tuple, k))) *)
209 |           Obj (Pair.fst (nth s (tuple, k)))
210 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _)

File "src/core/substitution.ml", lines 213-214, characters 7-26:
213 | .......let Head h' = frontSub (Head h) s in
214 |        Head (AnnH (h', a))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undef|Obj _)

File "src/core/substitution.ml", lines 138-221, characters 4-35:
138 | ....match ft with
139 |     | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s))
140 |     | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s)))
141 |     | Head (BVar n) -> bvarSub n s
142 |     | Head (FVar _) -> ft
...
218 |     | Obj u -> Obj (Clo (u, s))
219 |     | Undef -> Undef
220 |     | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s))
221 |     | Head (FPVar (_n, _s' )) -> ft
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head (MPVar _|FMVar _)

File "src/core/substitution.ml", line 263, characters 13-60:
263 |   let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/substitution.ml", lines 292-300, characters 6-33:
292 | ......match s with
293 |       | EmptySub -> None
294 |       | Undefs -> None
295 |       | Shift _ -> None
296 |       | Dot (Undef, s') -> lookup (n + 1) s' p
297 |       | Dot (Head (BVar k), s') ->
298 |          if k = p
299 |          then Some (Head (BVar n))
300 |          else lookup (n + 1) s' p
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dot
  (Head
     (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
     FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
  _)

File "src/core/substitution.ml", lines 314-324, characters 6-37:
314 | ......match s with
315 |       | EmptySub ->
316 |          invert'' maxoffset Undefs
317 |       | Undefs ->
318 |          invert'' maxoffset Undefs
...
321 |       | Dot (Head (BVar k), s') ->
322 |          invert' (n + 1) s' (max k maxoffset)
323 |       | Dot (_, s') -> (* Is this really necessary? -ac *)
324 |          invert' (n + 1) s' maxoffset
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/substitution.ml", lines 335-350, characters 4-65:
335 | ....match (s, cPsi) with
336 |     | (Shift _ (* 0 *), Null) ->
337 |        Null
338 |     | (Shift _, CtxVar psi) ->
339 |        CtxVar psi
...
347 |     | (Dot (Undef, t), DDec (cPsi, _)) ->
348 |        strengthen t cPsi
349 |     | (Shift n, cPsi) ->
350 |        strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dot (Head (BVar _k), t), (Null|CtxVar _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Context.cmo -c -impl src/core/context.ml)
File "src/core/context.ml", lines 90-104, characters 4-24:
 90 | ....function
 91 |     | (DDec (_, TypDecl (x, tA')), 1) ->
 92 |        TypDecl (x, TClo (tA', Shift k))
 93 | 
 94 |     | (DDec (cPsi', TypDecl _), k') ->
...
101 |        ctxDec' (cPsi', k'-1)
102 | 
103 |     | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) ->
104 |        ctxDec' (cPsi, k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxVar
   (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)),
_)

File "src/core/context.ml", lines 124-134, characters 4-24:
124 | ....function
125 |     | (DDec (_, TypDecl (x, Sigma tArec)), 1) ->
126 |        TypDecl (x, Sigma (sigmaShift tArec (Shift k)))
127 | 
128 |     | (DDec (cPsi', TypDecl (_, Sigma _)), k') ->
...
131 |     | (DDec (cPsi', TypDecl _), k') ->
132 |        ctxDec' (cPsi', k' - 1)
133 |     | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) ->
134 |        ctxDec' (cPhi, k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(DDec (cPsi', TypDeclOpt _), _)

File "src/core/context.ml", lines 361-364, characters 2-49:
361 | ..match (cPsi, k) with
362 |   | (DDec (_, TypDecl (x, _)), 1) -> x
363 |   | (DDec (_, TypDeclOpt x), 1) -> x
364 |   | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Null|CtxVar _), _)

File "src/core/context.ml", lines 367-371, characters 2-27:
367 | ..match (cD, k) with
368 |   | (Dec (_, Decl { name = u; _ }), 1) -> u
369 |   | (Dec (_, DeclOpt { name = u; _ }), 1) -> u
370 |   | (Dec (cD, _), k) ->
371 |      getNameMCtx cD (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Empty, _)

File "src/core/context.ml", lines 374-377, characters 2-45:
374 | ..match (cG, k) with
375 |   | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x
376 |   | (Dec (_, Comp.CTypDeclOpt x), 1) -> x
377 |   | (Dec (cG, _), k) -> getNameCtx cG (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Empty, _)

File "src/core/context.ml", lines 401-403, characters 4-58:
401 | ....function
402 |     | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl)
403 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Null

File "src/core/context.ml", lines 409-411, characters 4-58:
409 | ....function
410 |     | CtxVar ctx_var -> Null
411 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Null

File "src/core/context.ml", lines 436-439, characters 2-28:
436 | ..match (cD, psi_offset) with
437 |   | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema
438 |   | (Dec (cD, _) , i) ->
439 |      lookupSchema cD (i - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Empty, _)

File "src/core/context.ml", lines 446-453, characters 7-10:
446 | .......begin match cvar with
447 |        | CtxName phi when Name.(psi = phi) -> (psi, schemaName)
448 |        | CtxName _ -> lookup cD (offset + 1)
449 |        | CtxOffset n ->
450 |           if n - offset = 1
451 |           then (psi, schemaName)
452 |           else lookup cD (offset + 1)
453 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CInst _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__ConvSigma.cmo -c -impl src/core/convSigma.ml)
File "src/core/convSigma.ml", lines 20-22, characters 2-54:
20 | ..match (conv_list, k) with
21 |   | (d :: conv_list', 1) -> d
22 |   | (d :: conv_list', _) -> d + map conv_list' (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
([], _)

File "src/core/convSigma.ml", lines 44-52, characters 2-21:
44 | ..match tM with
45 |   | LF.Lam (loc, x, tN) ->
46 |      let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in
47 |      LF.Lam (loc, x, tN')
48 |   | LF.Root (loc, h, tS, plicity) ->
49 |      let h' = strans_head loc cD cPsi h conv_list in
50 |      let tS' = strans_spine cD cPsi (tS, s) conv_list in
51 |      LF.Root (loc, h', tS', plicity)
52 |   | LF.LFHole _ -> tM
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _|Tuple (_, _))

File "src/core/convSigma.ml", lines 55-101, characters 2-8:
 55 | ..match h with
 56 |   | LF.BVar x -> LF.BVar (map conv_list x)
 57 | 
 58 |   | LF.MVar (LF.Offset u, sigma) ->
 59 |      LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list)
...
 98 |          LF.BVar x'
 99 |        with
100 |        | _ -> LF.Proj (LF.BVar x, j)
101 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Proj
  ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
   HClo (_, _, _)|HMClo (_, _)),
  _)

File "src/core/convSigma.ml", lines 112-118, characters 2-26:
112 | ..match mf with
113 |   | LF.ClObj (phat, LF.MObj tM) ->
114 |      LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list ))
115 |   | LF.ClObj (phat, LF.PObj h) ->
116 |      LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list))
117 |   | LF.MV u -> LF.MV u
118 |   | LF.MUndef -> LF.MUndef
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/convSigma.ml", lines 121-123, characters 2-55:
121 | ..function
122 |   | (0, xs) -> n
123 |   | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1, [])

File "src/core/convSigma.ml", lines 163-170, characters 2-59:
163 | ..match tA with
164 |   | LF.Atom (loc, a, tS ) ->
165 |      LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list )
166 | 
167 |   | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) ->
168 |      let tA' = strans_typ cD cPsi (tA, s) conv_list in
169 |      let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in
170 |      LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/convSigma.ml", lines 384-432, characters 2-24:
384 | ..match Whnf.whnfTyp sA with
385 |   | LF.Sigma tRec as tA, s ->
386 |      (* FIXME: this doesn't do any strengthening !! -je *)
387 |      let tH =
388 |        mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s)
...
429 |      let tN =
430 |        etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names)
431 |      in
432 |      LF.Lam (loc, x, tN)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Subord.cmo -c -impl src/core/subord.ml)
File "src/core/subord.ml", lines 98-101, characters 7-43:
 98 | .......function
 99 |        | Atom _ -> [tA]
100 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
101 |           extract_neg tA1 @ extract_pos tA2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/subord.ml", lines 103-106, characters 7-43:
103 | .......function
104 |        | Atom _ -> []
105 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
106 |           extract_pos tA1 @ extract_neg tA2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/subord.ml", lines 85-112, characters 2-47:
 85 | ..match tA with
 86 |   | Atom (_, a, _) ->
 87 |      Store.Cid.Typ.freeze a;
 88 |      if List.exists
 89 |           begin fun type_in_basis ->
...
109 |         If we keep this, then we might not strengthen enough... -bp*)
110 |      List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1)
111 |      @ relevant tA2 basis
112 |   | Sigma typRec -> relevantTypRec typRec basis
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/subord.ml", lines 159-161, characters 9-71:
159 | .........match psi with
160 |          | CtxOffset _ -> Context.lookupCtxVarSchema cD psi
161 |          | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CInst ({typ=CTyp None; _ }, _)

File "src/core/subord.ml", lines 155-187, characters 4-10:
155 | ....match cPsi with
156 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
157 |     | CtxVar psi ->
158 |        let schema =
159 |          match psi with
...
184 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
185 |           let thin_s_inv = Substitution.LF.invert thin_s in
186 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
187 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/subord.ml", line 189, characters 8-45:
189 |   inner (match tP with Atom (_, a, _) -> [a]) cPsi
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))

File "src/core/subord.ml", lines 215-216, characters 16-21:
215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in
216 |                 s_cid
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=CTyp None; _ })

File "src/core/subord.ml", lines 205-238, characters 4-10:
205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with
206 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
207 |     | CtxVar psi ->
208 |        begin
209 |          try
...
235 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
236 |           let thin_s_inv = Substitution.LF.invert thin_s in
237 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
238 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/subord.ml", lines 249-251, characters 11-24:
249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in
250 |            p.fmt "[thin'] CtxName psi = %a FOUND"
251 |              Name.pp psi
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=ClTyp (_, _); _ })
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Ctxsub.cmo -c -impl src/core/ctxsub.ml)
File "src/core/ctxsub.ml", lines 46-65, characters 2-36:
46 | ..match sA' with
47 |   | (PiTyp ((decl, _, _), tA'), s') ->
48 |      let (tM , sAmv) =
49 |        lowerMVar
50 |          (DDec (cPsi, Substitution.LF.decSub decl s'))
...
62 |          , Nil
63 |          , Plicity.explicit
64 |          ) ,
65 |       ClTyp(MTyp (TClo sA') , cPsi))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _, _)

File "src/core/ctxsub.ml", lines 88-158, characters 2-89:
 88 | ..function
 89 |   | Null ->
 90 |      (* Substitution.LF.id  --changed 2010-07-26*)
 91 |      (cD, ctxShift psi, 0)
 92 | 
...
155 | 
156 |   | DDec (_, TypDecl _) ->
157 |      (* For the moment, assume tA atomic. *)
158 |      Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (_, TypDeclOpt _)

File "src/core/ctxsub.ml", lines 174-216, characters 2-11:
174 | ..function
175 |   | Null ->
176 |      (* Substitution.LF.id  --changed 2010-07-26*)
177 |      ctxShift cPhi
178 | 
...
213 |      (* dprint (fun () -> "shifted = " ^ subToString shifted);*)
214 |      let result = Dot (front, s) in
215 |      dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result);
216 |      result
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi', TypDeclOpt _)

File "src/core/ctxsub.ml", lines 250-255, characters 2-59:
250 | ..function
251 |   | Empty -> MShift (Context.length cD0)
252 |   | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) ->
253 |      let t = mctxToMMSub cD0 cD' in
254 |      let mtyp' = Whnf.cnormMTyp (mtyp, t) in
255 |      MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/ctxsub.ml", lines 261-263, characters 2-35:
261 | ..function
262 |   | t when n <= 0 -> t
263 |   | MDot (_, t') -> drop (n - 1) t'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MShift _
(However, some guarded clause may match this value.)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Store.cmo -c -impl src/core/store.ml)
File "src/core/store.ml", lines 212-217, characters 6-45:
212 | ......function
213 |       | Int.LF.Atom(_, b, _) ->
214 |          List.iter (fun a -> addSubord a b) acc ; [b]
215 | 
216 |       | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) ->
217 |          inspect (acc @ (inspect [] tA1)) tA2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/store.ml", lines 222-226, characters 6-56:
222 | ......function
223 |       | Int.LF.Typ ->
224 |          List.iter (fun a -> addSubord a cid_tp) acc
225 |       | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) ->
226 |          inspectKind cid_tp (acc @ (inspect [] tA1)) tK2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Whnf.cmo -c -impl src/core/whnf.ml)
File "src/core/whnf.ml", lines 36-39, characters 2-73:
36 | ..match cPsi with
37 |   | Null -> tA
38 |   | DDec (cPsi', decl) ->
39 |      raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar _

File "src/core/whnf.ml", lines 133-148, characters 2-64:
133 | ..match sA' with
134 |   | (PiTyp ((decl, _, _), tA'), s') ->
135 |      let (u', tM) =
136 |        lowerMVar'
137 |          (DDec (cPsi, LF.decSub decl s'))
...
145 | 
146 |   | (Atom (loc, a, tS), s') ->
147 |      let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in
148 |      (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity))....................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _, _)

File "src/core/whnf.ml", lines 152-162, characters 2-25:
152 | ..match (u, sA) with
153 |   | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ }
154 |     , (PiTyp _, _)
155 |     ) ->
156 |      let (u', tM) = lowerMVar' cPsi sA plicity inductivity in
...
159 | 
160 |   | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s')
161 | 
162 |   | (_, (Atom _, _)) -> u
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Inst {typ=ClTyp (_, _); _ }, (Sigma _, _))

File "src/core/whnf.ml", lines 319-329, characters 4-31:
319 | ....match s with
320 |     | MShift _ -> None
321 |     | MDot (MUndef, t') -> lookup (n + 1) t' p
322 | 
323 |     | MDot (MV k, t')
...
326 |       | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') ->
327 |        if k = p
328 |        then Some n
329 |        else lookup (n + 1) t' p
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MDot (CObj (CtxVar (CtxName _|CInst _)), _)

File "src/core/whnf.ml", lines 385-387, characters 7-59:
385 | .......match normHead (h, sigma) with
386 |      | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity)
387 |      | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 404-407, characters 5-8:
404 | .....begin match normMMVar mmt with
405 |      | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma))))
406 |      | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma)
407 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 409-413, characters 5-8:
409 | .....begin match normMMVar mmt with
410 |      (* The order in which we normalize mm, n, s, and sigma seems to matter..*)
411 |      | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma)))
412 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
413 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 415-419, characters 5-8:
415 | .....begin match normMMVar mmt with
416 |      | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma)))
417 |      | Result (IHead h) -> normFt' (normHead (h, s), sigma)
418 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
419 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (ISub _|ICtx _)

File "src/core/whnf.ml", lines 422-425, characters 5-8:
422 | .....begin match normMMVar (mm, MShift 0) with
423 |      | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma)))
424 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
425 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 449-451, characters 2-32:
449 | ..match ft with
450 |   | Head h -> normHead (h, s)
451 |   | Obj tM -> Obj (norm (tM, s))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 454-457, characters 2-37:
454 | ..match tM with
455 |   | INorm n -> INorm (cnorm (n, mt))
456 |   | IHead h -> IHead (cnormHead (h, mt))
457 |   | ISub s -> ISub (cnormSub (s, mt))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ICtx _

File "src/core/whnf.ml", lines 463-466, characters 5-8:
463 | .....begin match normHead (h, s) with
464 |      | Obj tM -> MObj tM
465 |      | Head h' -> PObj h'
466 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 470-473, characters 2-64:
470 | ..match normFt' (ft, LF.id) with
471 |   | Head h -> Head (Proj (h, i))
472 |   | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i))
473 |   | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 476-479, characters 2-50:
476 | ..function
477 |   | (Last tM, 1) -> tM
478 |   | (Cons (tM, _), 1) -> tM
479 |   | (Cons (_, rest), k) -> reduceTuple (rest, k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last tM, 0)

File "src/core/whnf.ml", lines 507-521, characters 2-17:
507 | ..function
508 |   | (LFHole (l, _, _), _) ->
509 |      raise (InvalidLFHole l)
510 | 
511 |   | (Root (loc, h, sp, plicity), spine) ->
...
518 |      Lam (loc, n, tM')
519 | 
520 |   | (Clo sM, tS) ->
521 |      reduce sM tS
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _), SClo _)

File "src/core/whnf.ml", lines 524-526, characters 2-54:
524 | ..function
525 |   | (Nil, s) -> s
526 |   | (App (tN, tS), s) -> App (tN, appendSpine (tS, s))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(SClo _, _)

File "src/core/whnf.ml", lines 537-543, characters 5-8:
537 | .....begin match mmvar.instantiation.contents with
538 |      | Some (ISub s) ->
539 |         let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in
540 |         LF.comp (Shift n) s0
541 |      | None ->
542 |         MSVar (n, ((mmvar, mt), normSub s'))
543 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 562-573, characters 2-37:
562 | ..match tA with
563 |   | Atom (loc, a, tS) ->
564 |      Atom (loc, a, normSpine (tS, sigma))
565 | 
566 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
...
570 |      normTyp (tA, LF.comp s sigma)
571 | 
572 |   | Sigma recA ->
573 |      Sigma (normTypRec (recA, sigma))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/whnf.ml", lines 620-629, characters 5-8:
620 | .....begin match !u with
621 |      | None ->
622 |         (Some (CInst (mmvar, mcomp theta t)), k)
623 |      | Some (ICtx cPsi) ->
624 |         (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *)
625 |         begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with
626 |         | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *)
627 |         | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *)
628 |         end
629 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 631-641, characters 5-8:
631 | .....begin match LF.applyMSub offset t with
632 |      | CObj cPsi ->
633 |         begin match Context.dctxToHat cPsi with
634 |         | (None, i) -> (None, k + i)
635 |         | (Some cvar', i) -> (Some cvar', k + i)
...
638 |      | ClObj _ ->
639 |         Error.raise_violation
640 |           (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset)
641 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MUndef

File "src/core/whnf.ml", lines 656-659, characters 5-8:
656 | .....begin match LF.applyMSub k t with
657 |      | MV k' -> Head (MVar (Offset k', s'))
658 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
659 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, (PObj _|SObj _))

File "src/core/whnf.ml", lines 662-666, characters 5-8:
662 | .....begin match LF.applyMSub k t with
663 |      | MV k' -> Head (PVar (k', s'))
664 |      | ClObj (_, PObj h) -> normHead (h, s')
665 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
666 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/whnf.ml", lines 669-672, characters 5-8:
669 | .....begin match LF.applyMSub sv t with
670 |      | MV sv' -> Head (HClo (k, sv', s'))
671 |      | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s')
672 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, (MObj _|PObj _))

File "src/core/whnf.ml", lines 674-677, characters 5-8:
674 | .....begin match normMMVar mmt with
675 |      | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
676 |      | Result (INorm n) -> Obj (cnorm (norm (n, s), t))
677 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 679-684, characters 5-8:
679 | .....begin match normMMVar mmt with
680 |      | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
681 |      | Result (IHead h) -> cnormFt' (normHead (h, s), t)
682 |      | Result (INorm n) ->
683 |         Obj (cnorm (norm (n, s), t))
684 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (ISub _|ICtx _)

File "src/core/whnf.ml", lines 686-689, characters 5-8:
686 | .....begin match normMMVar mmt with
687 |      | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t))))
688 |      | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t)
689 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 691-694, characters 5-8:
691 | .....begin match normMMVar (mm, MShift 0) with
692 |      | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t)))
693 |      | Result (INorm n) -> Obj (norm (n, s))
694 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 698-700, characters 2-38:
698 | ..function
699 |   | (Head h, t) -> cnormHead' (h, t)
700 |   | (Obj tM, t) -> Obj (cnorm (tM, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undef, _)

File "src/core/whnf.ml", lines 713-721, characters 5-8:
713 | .....begin match cnormHead' (head, t) with
714 |      | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity)
715 |      | Obj tM ->
716 |         (* in this ends up evaluating to a Root, we want to keep the
717 |            plicity that we had here *)
718 |         map_plicity
719 |           (fun _ -> plicity)
720 |           (reduce (tM, LF.id) (cnormSpine (tS, t)))
721 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 728-729, characters 2-17:
728 | ..match cnormHead' (h, t) with
729 |   | Head h' -> h'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undef|Obj _)

File "src/core/whnf.ml", lines 752-758, characters 5-8:
752 | .....begin match LF.applyMSub offset t with
753 |      | MV offset' -> SVar (offset', n, cnormSub (s', t))
754 |      | ClObj (_, SObj r) ->
755 |         LF.comp (LF.comp (Shift n) r) (cnormSub (s', t))
756 |      | ClObj _ ->
757 |         Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj"
758 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|CObj _)

File "src/core/whnf.ml", lines 764-775, characters 5-56:
764 | .....match mmvar.instantiation.contents with
765 |      | Some (ISub s) ->
766 |         dprintf
767 |           begin fun p ->
768 |           p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]"
...
772 |         let s0' = LF.comp (Shift n) s0 in
773 |         cnormSub (s0', t)
774 |      | None ->
775 |         MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 793-803, characters 2-34:
793 | ..match tA with
794 |   | Atom (loc, a, tS) ->
795 |      Atom (loc, a, cnormSpine (tS, t))
796 | 
797 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
...
800 |   | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t))
801 | 
802 |   | Sigma recA ->
803 |      Sigma (cnormTypRec (recA, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/whnf.ml", lines 832-837, characters 5-8:
832 | .....begin match !u with
833 |      | None ->
834 |         CtxVar (CInst (mmvar, mcomp theta t))
835 |      | Some (ICtx cPhi) ->
836 |         cnormDCtx (cPhi, mcomp theta t)
837 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 840-843, characters 5-8:
840 | .....begin match LF.applyMSub psi t with
841 |      | CObj cPsi' -> normDCtx cPsi'
842 |      | MV k -> CtxVar (CtxOffset k)
843 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|ClObj (_, _))

File "src/core/whnf.ml", lines 886-889, characters 5-8:
886 | .....begin match mmvar.instantiation.contents with
887 |      | None -> cPsi
888 |      | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta))
889 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 960-973, characters 8-11:
960 | ........begin match h' with
961 |         | BVar i ->
962 |            begin match LF.bvarSub i (LF.comp r sigma) with
963 |            | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma))
964 |            | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id)
...
970 |            let h' = PVar (p, LF.comp (LF.comp s r) sigma) in
971 |            whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
972 |         | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id)
973 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
HClo (_, _, _)|HMClo (_, _))

File "src/core/whnf.ml", lines 956-979, characters 5-8:
956 | .....begin match u with
957 |      (* MPVar instantiation must be a head *)
958 |      | Some (IHead h) ->
959 |         let h' = cnormHead (h, t) in
960 |         begin match h' with
...
976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
979 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 954-979, characters 5-8:
954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in
955 |      let u = mmvar.instantiation.contents in
956 |      begin match u with
957 |      (* MPVar instantiation must be a head *)
958 |      | Some (IHead h) ->
...
976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
979 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 995-1011, characters 8-11:
 995 | ........begin match whnfTyp (tA, LF.id) with
 996 |         | (Atom (loc', a, tS'), _ (* id *)) ->
 997 |            (* meta-variable is of atomic type; tS = Nil *)
 998 |            let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
 999 |            (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
...
1008 |            (* let _ = lowerMMVar cD u in
1009 |               whnf (tM, sigma) *)
1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
1011 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Sigma _|TClo _), _)

File "src/core/whnf.ml", lines 985-1012, characters 5-8:
 985 | .....begin match u with
 986 |      (* MMVar instantiation must be normal *)
 987 |      | Some (INorm tM) ->
 988 |         (* constraints associated with u must be in solved form *)
 989 |         let tM' = cnorm (tM, t) in
...
1009 |               whnf (tM, sigma) *)
1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
1011 |         end
1012 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 983-1012, characters 5-8:
 983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in
 984 |      let u = mmvar.instantiation.contents in
 985 |      begin match u with
 986 |      (* MMVar instantiation must be normal *)
 987 |      | Some (INorm tM) ->
...
1009 |               whnf (tM, sigma) *)
1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
1011 |         end
1012 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 1041-1053, characters 8-11:
1041 | ........begin match whnfTyp (tA, LF.id) with
1042 |         | (Atom (loc', a, tS'), _ (* id *)) ->
1043 |            (* meta-variable is of atomic type; tS = Nil *)
1044 |            let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
1045 |            (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id)
...
1050 |             *)
1051 |            ignore (lowerMVar cvar);
1052 |            whnf (tM, sigma)
1053 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Sigma _|TClo _), _)

File "src/core/whnf.ml", lines 1036-1053, characters 8-11:
1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in
1037 |         (* note: we could split this case based on tA;
1038 |          *      this would avoid possibly building closures with id
1039 |          *)
1040 |         let r' = normSub r in
...
1050 |             *)
1051 |            ignore (lowerMVar cvar);
1052 |            whnf (tM, sigma)
1053 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 1023-1054, characters 5-8:
1023 | .....begin match u with
1024 |      | Some (INorm tM) ->
1025 |         (* constraints associated with u must be in solved form *)
1026 |         let r' = normSub r in
1027 |         let tM' =
...
1051 |            ignore (lowerMVar cvar);
1052 |            whnf (tM, sigma)
1053 |         end
1054 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 1073-1082, characters 5-8:
1073 | .....begin match LF.bvarSub i sigma with
1074 |      | Head (BVar j) ->
1075 |         ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity)
1076 |         , LF.id
1077 |         )
1078 |      | Head (PVar (q, s)) ->
1079 |         ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity)
1080 |         , LF.id
1081 |         )
1082 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
  FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/whnf.ml", lines 1098-1109, characters 11-14:
1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with
1099 |            | Head (BVar x) ->
1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
1101 |               , LF.id
1102 |               )
...
1106 |               )
1107 |            | Undef ->
1108 |               Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i)
1109 |            end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Obj _

File "src/core/whnf.ml", lines 1096-1118, characters 8-11:
1096 | ........begin match cnormHead (h, t) with
1097 |         | BVar i ->
1098 |            begin match LF.bvarSub i (LF.comp r sigma) with
1099 |            | Head (BVar x) ->
1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
...
1115 |         | MPVar ((q, t'), r') ->
1116 |            let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in
1117 |            (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
1118 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
HClo (_, _, _)|HMClo (_, _))

File "src/core/whnf.ml", lines 1120-1127, characters 8-9:
1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in
1121 |         (* constraints associated with q must be in solved form *)
1122 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
1123 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
1124 |         let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in
1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
1126 |         , LF.id
1127 |         )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 1093-1128, characters 5-8:
1093 | .....begin match mmvar.instantiation.contents with
1094 |      | Some (IHead h) ->
1095 |         (* constraints associated with q must be in solved form *)
1096 |         begin match cnormHead (h, t) with
1097 |         | BVar i ->
...
1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
1126 |         , LF.id
1127 |         )
1128 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 1143-1157, characters 2-39:
1143 | ..function
1144 |   | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l)
1145 |   | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1)
1146 | 
1147 |   | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) ->
...
1154 |      whnfRedex (sM, (tS, LF.comp s2' s2))
1155 | 
1156 |   | ((Clo (tM, s), s1), sS) ->
1157 |      whnfRedex ((tM, LF.comp s s1), sS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Root (_, _, _, _), _), (App (_, _), _))

File "src/core/whnf.ml", lines 1180-1191, characters 2-15:
1180 | ..function
1181 |   | [] -> true
1182 |   | ({ contents = Queued _ } :: cnstrs) ->
1183 |       constraints_solved cnstrs
1184 |   | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) ->
...
1188 |   | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) ->
1189 |      if convHead (h1, LF.id) (h2, LF.id)
1190 |      then constraints_solved cnstrs
1191 |      else false
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
{contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_

File "src/core/whnf.ml", lines 1283-1288, characters 2-71:
1283 | ..match (spine1, spine2) with
1284 |   | ((Nil, _), (Nil, _)) -> true
1285 |   | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) ->
1286 |      conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2)
1287 |   | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s')
1288 |   | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Nil, _), (App (_, _), _))

File "src/core/whnf.ml", lines 1457-1465, characters 2-32:
1457 | ..match (cPsi, cPsi') with
1458 |   | (_, Empty) -> true
1459 |   | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) ->
1460 |      if convTyp (tA, LF.id) (tB, LF.id)
1461 |      then convSubsetCtx cPsi1 cPsi2
1462 |      else
1463 |        (* keep tBs around and check that tA is a subordinate of tB,
1464 |        i.e. anything in tA cannot influence tB *)
1465 |        convSubsetCtx cPsi1 cPsi'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _))

File "src/core/whnf.ml", lines 1591-1593, characters 4-76:
1591 | ....match mO with
1592 |     | CObj cPsi -> CObj (normDCtx cPsi)
1593 |     | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|MV _)

File "src/core/whnf.ml", lines 1604-1624, characters 2-49:
1604 | ..function
1605 |   | Comp.TypBase (loc, c, mS) ->
1606 |      Comp.TypBase (loc, c, normMetaSpine mS)
1607 |   | Comp.TypCobase (loc, c, mS) ->
1608 |      Comp.TypCobase (loc, c, normMetaSpine mS)
...
1621 |     Comp.TypPiBox
1622 |       (loc, (Decl { d with typ = typ' }), tau')
1623 | 
1624 |   | Comp.TypInd tau -> Comp.TypInd (normCTyp tau)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypPiBox (loc, DeclOpt _, _)

File "src/core/whnf.ml", lines 1640-1643, characters 2-30:
1640 | ..match cdecl with
1641 |   | Decl d ->
1642 |     let typ' = cnormMTyp (d.typ, t) in
1643 |     Decl { d with typ = typ' }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/whnf.ml", lines 1646-1670, characters 2-60:
1646 | ..function
1647 |   | (Comp.TypBase (loc, a, mS), t) ->
1648 |      let mS' = cnormMetaSpine (mS, t) in
1649 |      Comp.TypBase (loc, a, mS')
1650 |   | (Comp.TypCobase (loc, a, mS), t) ->
...
1667 |   | (Comp.TypClo (tT, t'), t) ->
1668 |      cnormCTyp (tT, mcomp t' t)
1669 | 
1670 |   | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _), _)

File "src/core/whnf.ml", lines 1673-1675, characters 2-47:
1673 | ..match cdecl with
1674 |   | Comp.CTypDecl(n, typ, wf_t) ->
1675 |      Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 1691-1707, characters 2-70:
1691 | ..function
1692 |   | (Comp.TypBase (loc, c, mS), t) ->
1693 |      let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in
1694 |      (Comp.TypBase (loc, c, mS'), m_id)
1695 |   | (Comp.TypCobase (loc, c, mS), t) ->
...
1704 | 
1705 |   | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t)
1706 | 
1707 |   | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _), _)

File "src/core/whnf.ml", lines 1902-1905, characters 2-74:
1902 | ..match cG with
1903 |   | Empty -> Empty
1904 |   | Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
1905 |      Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/whnf.ml", lines 1928-1930, characters 2-62:
1928 | ..function
1929 |   | Comp.CTypDecl (x, tau, flag) ->
1930 |      Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 1957-1962, characters 2-41:
1957 | ..match cD with
1958 |   | Empty -> Empty
1959 |   | Dec (cD, Decl d) ->
1960 |     let typ' = normMTyp d.typ in
1961 |     let cD' = normMCtx cD in
1962 |     Dec (cD', Decl { d with typ = typ' })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD, DeclOpt _)

File "src/core/whnf.ml", lines 1990-1993, characters 2-60:
1990 | ..match (tM1, tM2) with
1991 |   | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id)
1992 |   | (ISub s1, ISub s2) -> convSub s1 s2
1993 |   | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(INorm n1, (IHead _|ISub _|ICtx _))

File "src/core/whnf.ml", lines 1998-2004, characters 2-25:
1998 | ..match (mS, mS') with
1999 |   | (Comp.MetaNil, Comp.MetaNil) -> true
2000 |   | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) ->
2001 |      convMetaObj mO mO'
2002 |      && convMetaTyp mT mT'
2003 |      && convMetaSpine mS mS'
2004 |      && Plicity.(p1 = p2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaNil, MetaApp (_, _, _, _))

File "src/core/whnf.ml", lines 2071-2075, characters 2-42:
2071 | ..match (d1, d2) with
2072 |   | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2)
2073 |   | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) ->
2074 |      Name.(x1 = x2) && Stdlib.(=) w1 w2
2075 |      && convCTyp (tau1, m_id) (tau2, m_id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CTypDeclOpt x1, CTypDecl (_, _, _))

File "src/core/whnf.ml", lines 2095-2105, characters 2-8:
2095 | ..match sA with
2096 |   | (Atom (loc, _, _) as tP, s) ->
2097 |      let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in
2098 |      Root (loc, MVar (u, s'), Nil, plicity)
2099 | 
...
2102 |        ( Name.location x
2103 |        , x
2104 |        , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
2105 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/whnf.ml", lines 2120-2130, characters 2-8:
2120 | ..match sA with
2121 |   | (Atom _ as tP, s) ->
2122 |      let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in
2123 |      Root (loc, MMVar ((u, m_id), s'), Nil, plicity)
2124 | 
...
2127 |        ( loc
2128 |        , x
2129 |        , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
2130 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/whnf.ml", lines 2135-2141, characters 2-42:
2135 | ..match tM with
2136 |   | Lam (_, _, tM) -> closed (tM, LF.dot1 s)
2137 |   | Root (_, h, tS, _) ->
2138 |      closedHead h
2139 |      && closedSpine (tS, s)
2140 |   | LFHole _ -> false
2141 |   | Tuple (_, tup) -> closedTuple (tup, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Clo _

File "src/core/whnf.ml", lines 2166-2174, characters 2-28:
2166 | ..function
2167 |   | EmptySub -> true
2168 |   | Undefs -> true
2169 |   | SVar (_, _, sigma) -> closedSub sigma
2170 |   | Shift _ -> true
2171 |   | Dot (ft, s) -> closedFront ft && closedSub s
2172 |   | MSVar (_, ((v, t), s)) ->
2173 |      (* the case for MMVar doesn't also check the substitution -je *)
2174 |      is_mmvar_instantiated v.....................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
FSVar (_, _)

File "src/core/whnf.ml", lines 2185-2190, characters 2-40:
2185 | ..match tA with
2186 |   | Atom (_, _, tS) -> closedSpine (tS, s)
2187 |   | PiTyp ((t_dec, _, _), tA) ->
2188 |      closedDecl (t_dec, s)
2189 |      && closedTyp (tA, LF.dot1 s)
2190 |   | Sigma recA -> closedTypRec (recA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/whnf.ml", lines 2208-2211, characters 5-8:
2208 | .....begin match mmvar.instantiation.contents with
2209 |      | None -> false
2210 |      | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta))
2211 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 2241-2244, characters 2-56:
2241 | ..function
2242 |   | CObj cPsi -> closedDCtx cPsi
2243 |   | ClObj (phat, t) ->
2244 |      closedDCtx (Context.hatToDCtx phat) && closedMObj t
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|MV _)

File "src/core/whnf.ml", lines 2255-2264, characters 2-37:
2255 | ..function
2256 |   | Comp.TypBase (_, _, mS) -> closedMetaSpine mS
2257 |   | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS
2258 |   | Comp.TypBox (_, cT) -> closedMetaTyp cT
2259 |   | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2
2260 |   | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs
2261 |   | Comp.TypPiBox (_, ctyp_decl, cT) ->
2262 |       closedCTyp cT && closedDecl ctyp_decl
2263 |   | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *)
2264 |   | Comp.TypInd tau -> closedCTyp tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDef (_, _, _)

File "src/core/whnf.ml", lines 2406-2407, characters 37-34:
2406 | .....................................(Comp.CTypDecl (_, tau2, _)) =
2407 |     convCTyp (tau1, t1) (tau2, t2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 2406-2407, characters 8-34:
2406 | ........(Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
2407 |     convCTyp (tau1, t1) (tau2, t2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 2412-2413, characters 32-23:
2412 | ................................(Decl { typ = cU2; _ }) =
2413 |     convMetaTyp cU1 cU2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/whnf.ml", lines 2412-2413, characters 8-23:
2412 | ........(Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
2413 |     convMetaTyp cU1 cU2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/whnf.ml", lines 2418-2420, characters 2-93:
2418 | ..function
2419 |   | (Atom _, _) as sA -> (cPsi, whnfTyp sA)
2420 |   | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Sigma _|TClo _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyint.cmo -c -impl src/core/prettyint.ml)
File "src/core/prettyint.ml", lines 237-294, characters 4-39:
237 | ....function
238 |     | LF.Atom (_, a, LF.Nil) ->
239 |        fprintf ppf "%s"
240 |          (R.render_cid_typ a)
241 | 
...
291 |     | LF.TClo (typ, s) ->
292 |        fprintf ppf "TClo(%a,@ %a)"
293 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
294 |          (fmt_ppr_lf_sub cD cPsi lvl) s
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/prettyint.ml", lines 434-545, characters 6-51:
434 | ......function
435 |       | LF.HClo (h, s, sigma) ->
436 |          fprintf ppf "%s[%a[%a]]"
437 |            (R.render_bvar cPsi h)
438 |            (fmt_ppr_lf_offset cD) s
...
542 |            (r_paren_if (paren s))
543 | 
544 |       | LF.Proj (head, k) ->
545 |          fmt_head_with ("." ^ string_of_int k) head
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
AnnH (_, _)

File "src/core/prettyint.ml", lines 769-771, characters 7-52:
769 | .......match LF.(v.typ) with
770 |        | LF.ClTyp (_, cPsi) ->
771 |           fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/prettyint.ml", lines 785-794, characters 7-10:
785 | .......begin match !g with
786 |        | None ->
787 |           fprintf ppf "?%a[%a]"
788 |             Name.pp LF.(v.name)
789 |             (fmt_ppr_lf_msub cD 0) theta
790 | 
791 |        | Some (LF.ICtx cPsi) ->
792 |           fprintf ppf "%a"
793 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
794 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/prettyint.ml", lines 878-890, characters 4-38:
878 | ....function
879 |     | LF.Null -> ()
880 | 
881 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
882 |        fprintf ppf "%a : %a"    (* formerly "., %s : %a"    -jd 2010-06-03 *)
...
887 |        fprintf ppf "%a, %a : %a"
888 |          (ppr_typ_decl_dctx cD) cPsi
889 |          Name.pp x
890 |          (fmt_ppr_lf_typ cD cPsi 0) tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/prettyint.ml", lines 974-1006, characters 4-26:
 974 | ....function
 975 |     | LF.Typ ->
 976 |        fprintf ppf "type"
 977 | 
 978 |     | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) ->
...
1003 |          (l_paren_if cond)
1004 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
1005 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
1006 |          (r_paren_if cond)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)

File "src/core/prettyint.ml", lines 1097-1109, characters 4-40:
1097 | ....function
1098 |     | LF.Queued id ->
1099 |        fprintf ppf "@[QUEUED %d@]" id
1100 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
1101 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
...
1106 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
1107 |          id
1108 |          (fmt_ppr_lf_head cD cPsi l0) h1
1109 |          (fmt_ppr_lf_head cD cPsi l0) h2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))

File "src/core/prettyint.ml", lines 1147-1228, characters 4-39:
1147 | ....function
1148 |     | Comp.TypBase (_, c, mS)->
1149 |        let cond = lvl > 10 in
1150 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
1151 |          (l_paren_if cond)
...
1225 |          fprintf ppf "@[%a@]*"
1226 |            (fmt_ppr_cmp_typ cD 10) tau
1227 |        else
1228 |          fmt_ppr_cmp_typ cD lvl ppf tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDef (_, _, _)

File "src/core/prettyint.ml", lines 1236-1241, characters 4-48:
1236 | ....function
1237 |     | Comp.PatNil -> fprintf ppf ""
1238 |     | Comp.PatApp (_, pat, pat_spine) ->
1239 |        fprintf ppf "@[%a@]@ @[%a@]"
1240 |          (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat
1241 |          (fmt_ppr_pat_spine cD cG lvl) pat_spine
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)

File "src/core/prettyint.ml", lines 1245-1248, characters 6-65:
1245 | ......match (ms, n) with
1246 |       | (_, 0) -> ms
1247 |       | (Comp.PatNil, _) -> ms
1248 |       | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatObs (_, _, _, _), 1)

File "src/core/prettyint.ml", lines 1507-1550, characters 4-26:
1507 | ....function
1508 |     | Comp.FunValue _ -> fprintf ppf " fn "
1509 |     | Comp.ThmValue _ -> fprintf ppf " rec "
1510 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
1511 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
...
1547 |        fprintf ppf "%s%s%a%s"
1548 |          (l_paren_if cond)
1549 |          (R.render_cid_comp_const c) print_spine pat_spine
1550 |          (r_paren_if cond)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
FnValue (_, _, _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Apxnorm.cmo -c -impl src/core/apxnorm.ml)
File "src/core/apxnorm.ml", lines 44-49, characters 2-33:
44 | ..function
45 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m')
46 |   | Apx.LF.Root (loc, h , spine) ->
47 |      let h' = shiftApxHead k h in
48 |      let spine' = shiftApxSpine k spine in
49 |      Apx.LF.Root(loc, h', spine')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(LFHole (_, _)|Tuple (_, _)|Ann (_, _, _))

File "src/core/apxnorm.ml", lines 70-80, characters 2-35:
70 | ..function
71 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
72 |   | Apx.LF.Id -> Apx.LF.Id
73 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
74 |      let h' = shiftApxHead k h in
...
77 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
78 |      let m' = shiftApxTerm k m in
79 |      let s' = shiftApxSub k s in
80 |      Apx.LF.Dot (Apx.LF.Obj m', s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(SVar (_, _)|FSVar (_, _))

File "src/core/apxnorm.ml", lines 126-128, characters 4-49:
126 | ....match (l_delta, t) with
127 |     | (0, t) -> t
128 |     | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1, MShift _)

File "src/core/apxnorm.ml", lines 134-151, characters 6-36:
134 | ......match Substitution.LF.applyMSub offset t with
135 |       | Int.LF.MV u -> Apx.LF.Offset u
136 |       | Int.LF.ClObj (_, clobj) ->
137 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
138 |          dprintf
...
148 |            end;
149 |          let t' = drop t l_delta in
150 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
151 |          Apx.LF.MInst (clobj, mtyp')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|CObj _)

File "src/core/apxnorm.ml", lines 267-276, characters 7-10:
267 | .......begin match Substitution.LF.applyMSub offset t with
268 |        | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) ->
269 |           Apx.LF.CtxVar (Apx.LF.CtxOffset psi0)
270 |        | Int.LF.CObj Int.LF.Null ->
271 |           Apx.LF.Null
272 |        | Int.LF.CObj (Int.LF.DDec _) ->
273 |           raise (Error (loc, CtxOverGeneral))
274 |        (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *)
275 |        | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset')
276 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CObj (CtxVar (CtxName _|CInst _))

File "src/core/apxnorm.ml", lines 288-355, characters 2-27:
288 | ..match e with
289 |   | Apx.Comp.Fn (loc, f, e) ->
290 |      Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt)
291 |   | Apx.Comp.Fun (loc, fbr) ->
292 |      Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt)
...
352 | 
353 |   | Apx.Comp.Var _
354 |     | Apx.Comp.DataConst _
355 |     | Apx.Comp.Const _ -> e
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ann (_, _, _)

File "src/core/apxnorm.ml", lines 388-392, characters 4-63:
388 | ....function
389 |     | Apx.LF.Empty -> cD''
390 |     | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) ->
391 |        let cD1'' = append_mctx cD'' delta2' in
392 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (delta2', DeclOpt _)

File "src/core/apxnorm.ml", lines 421-431, characters 2-27:
421 | ..function
422 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
423 | 
424 |   | Apx.LF.Root (_, h, s) ->
425 |      let fMVs' = collectApxHead fMVs h in
...
428 |   | Apx.LF.Tuple (_, tuple) ->
429 |      collectApxTuple fMVs tuple
430 | 
431 |   | Apx.LF.LFHole _ -> fMVs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ann (_, _, _)

File "src/core/apxnorm.ml", lines 502-503, characters 27-22:
502 | ...........................(Apx.LF.TypDecl (_, a))=
503 |   collectApxTyp fMVs a
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/apxnorm.ml", lines 530-538, characters 2-44:
530 | ..function
531 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
532 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
533 |      let fMVs' = collectApxDCtx fMVs c_psi in
534 |      collectApxTyp fMVs' a
535 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
536 |      let fMVs' = collectApxDCtx fMVs c_psi in
537 |      collectApxDCtx fMVs' c_phi
538 |   | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/apxnorm.ml", lines 556-563, characters 2-31:
556 | ..function
557 |   | Apx.LF.Atom (loc, c, tS) ->
558 |      collectApxSpine fMVd tS
559 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) ->
560 |      let fMVd1 = collectApxTyp fMVd tA in
561 |      collectApxTyp fMVd1 tB
562 |   | Apx.LF.Sigma trec ->
563 |      collectApxTypRec fMVd trec
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/apxnorm.ml", lines 573-581, characters 2-45:
573 | ..function
574 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
575 |      let fMVd1 = collectApxDCtx fMVd cPsi in
576 |      collectApxDCtx fMVd1 cPhi
577 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
578 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
579 |      let fMVd1 = collectApxDCtx fMVd cPsi in
580 |      collectApxTyp fMVd1 tA
581 |   | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/apxnorm.ml", lines 584-603, characters 2-32:
584 | ..function
585 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
586 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
587 |      collectApxCompTyp fMVd1 tau2
588 |   | Apx.Comp.TypCross (_, taus) ->
...
600 |      let fMVd1 = collectApxDCtx fMVd cPsi in
601 |      collectApxDCtx fMVd1 cPhi
602 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
603 |      collectApxMetaSpine fMVd mS
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypBox (_, (_, CTyp _))

File "src/core/apxnorm.ml", lines 606-618, characters 2-32:
606 | ..function
607 |   | Apx.Comp.PatMetaObj (loc, mO) ->
608 |      collectApxMetaObj fMVd mO
609 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
610 |      collectApxPatSpine fMVd pat_spine
...
615 |      |> List.fold_left collectApxPattern fMVd
616 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
617 |      let fMVd1 = collectApxCompTyp fMVd tau in
618 |      collectApxPattern fMVd1 pat
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatFVar (_, _)

File "src/core/apxnorm.ml", lines 836-886, characters 2-33:
836 | ..function
837 |   | Apx.Comp.Fn (loc, f, e) ->
838 |      Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e)
839 | 
840 |   | Apx.Comp.Fun (loc, fbr) ->
...
883 | 
884 |   | Apx.Comp.Var _
885 |     | Apx.Comp.DataConst _
886 |     | Apx.Comp.Const _ as  i -> i
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ann (_, _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Abstract.cmo -c -impl src/core/abstract.ml)
File "src/core/abstract.ml", lines 253-257, characters 4-47:
253 | ....function
254 |     | I.Atom _ -> (k, tS)
255 |     | I.PiTyp (_, tA') ->
256 |        let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in
257 |        etaExpSpine (k + 1) (I.App (tN, tS)) tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/abstract.ml", lines 260-263, characters 4-49:
260 | ....match tA with
261 |     | I.Atom _ -> tM
262 |     | I.PiTyp ((I.TypDecl (x, _), _, _), tA') ->
263 |        I.Lam (loc, x, etaExpPrefix loc (tM, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/abstract.ml", lines 267-269, characters 4-19:
267 | ....match h with
268 |     | I.BVar x -> I.BVar (x + k - 1)
269 |     | I.FVar _ -> h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/abstract.ml", lines 317-332, characters 2-17:
317 | ..function
318 |   | I.Empty -> I.Empty
319 | 
320 |   | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) ->
321 |      begin match raiseType cPsi tA with
...
329 |      I.Dec (ctxToCtx cQ', I.TypDecl (x, tA))
330 | 
331 |   | I.Dec (cQ', FDecl (_, Impure)) ->
332 |      ctxToCtx cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec
  (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))

File "src/core/abstract.ml", lines 336-355, characters 2-20:
336 | ..function
337 |   | I.Empty -> I.Empty
338 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
339 |      let plicity' = f plicity in
340 |      let cQ'' = ctxToMCtx f cQ' in
...
352 |   | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))->
353 |      Error.raise_violation "Free variables in computation-level reconstruction."
354 |   | I.Dec (cQ', FDecl (_, Impure)) ->
355 |      ctxToMCtx f cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))

File "src/core/abstract.ml", lines 358-365, characters 2-76:
358 | ..function
359 |   | I.Empty -> I.Empty
360 |   | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) ->
361 |      let cQ'' = mctxToCtx cQ' in
362 |      I.Dec (cQ'', CtxV (x, w, plicity, inductivity))
363 |   | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) ->
364 |      let cQ'' = mctxToCtx cQ' in
365 |      I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cQ', DeclOpt _)

File "src/core/abstract.ml", lines 368-384, characters 2-32:
368 | ..function
369 |   | I.Empty -> I.Empty
370 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) ->
371 |      let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in
372 |      I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive })
...
381 |      I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity })
382 | 
383 |   | I.Dec (cQ', FDecl (_, Impure)) ->
384 |      ctxToMCtx_pattern names cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (FV _, Pure (LFTyp _)))

File "src/core/abstract.ml", lines 409-421, characters 2-35:
409 | ..function
410 |   | (I.Lam (loc, x, tM), s) ->
411 |      let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in
412 |      (cQ', I.Lam (loc, x, tM'))
413 |   | (I.Tuple (loc, tuple), s) ->
...
418 |      let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in
419 |      (cQ'', I.Root (loc, h', tS', plicity))
420 |   | (I.LFHole (loc, id, name), s) ->
421 |      (cQ, I.LFHole (loc, id, name))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _, _)

File "src/core/abstract.ml", lines 481-485, characters 7-49:
481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in
482 |        let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in
483 |        if !pat_flag
484 |        then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive)
485 |        else MetaTyp (mtyp', plicity, inductivity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, DeclOpt _)

File "src/core/abstract.ml", lines 512-517, characters 10-11:
512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) =
513 |             addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity))
514 |           in
515 |           ( cQ'
516 |           , I.{ v with typ; plicity; inductivity }
517 |           )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cQ', LFTyp _)

File "src/core/abstract.ml", lines 615-652, characters 2-26:
615 | ..function
616 |   | (I.BVar _ as head, _)
617 |     | (I.Const _ as head, _) -> (cQ, head)
618 | 
619 |   | (I.FVar name, _) ->
...
649 | 
650 |   | (I.Proj (head, j), s) ->
651 |      let (cQ', h') = collectHead k cQ phat loc (head, s) in
652 |      (cQ', I.Proj (h', j))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)

File "src/core/abstract.ml", lines 656-671, characters 2-27:
656 | ..function
657 |   | (I.Atom (loc, a, tS), s) ->
658 |      let (cQ', tS') = collectSpine p cQ phat (tS, s) in
659 |      (cQ', I.Atom (loc, a, tS'))
660 | 
...
668 | 
669 |   | (I.Sigma typRec, s) ->
670 |      let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in
671 |      (cQ', I.Sigma typRec')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 686-691, characters 2-66:
686 | ..function
687 |   | (I.Typ, _) -> (cQ, I.Typ)
688 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
689 |      let (cQ', tA') = collectTyp p cQ phat (tA, s) in
690 |      let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in
691 |      (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 759-761, characters 22-38:
759 | ......................(I.Decl d) =
760 |   let (cQ', mtyp') = collectMTyp p cQ d.typ in
761 |   (cQ', I.Decl { d with typ = mtyp' })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/abstract.ml", lines 784-790, characters 2-8:
784 | ..function
785 |   | (I.Typ, _) -> I.Typ
786 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
787 |      I.PiKind
788 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
789 |        , abstractKind cQ (offset + 1) (tK, LF.dot1 s)
790 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 795-803, characters 2-8:
795 | ..function
796 |   | (I.Atom (loc, a, tS), s (* id *)) ->
797 |      I.Atom (loc, a, abstractSpine cQ offset (tS, s))
798 | 
799 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
800 |      I.PiTyp
801 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
802 |        , abstractTyp cQ (offset + 1) (tB, LF.dot1 s)
803 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 818-843, characters 2-8:
818 | ..function
819 |   | (I.Lam (loc, x, tM), s) ->
820 |      I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s))
821 | 
822 |   | ( I.(Root
...
840 |        , abstractHead cQ offset tH
841 |        , abstractSpine cQ offset (tS, s)
842 |        , plicity
843 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((LFHole (_, _, _)|Clo _|Tuple (_, _)), _)

File "src/core/abstract.ml", lines 846-851, characters 2-59:
846 | ..function
847 |   | I.BVar _ as tH -> tH
848 |   | I.Const _ as tH -> tH
849 |   | I.FVar n -> I.BVar (index_of cQ (FV n) + offset)
850 |   | I.AnnH _ ->
851 |      Error.raise_not_implemented "[abstractHead] AnnH case"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)|
HMClo (_, _))

File "src/core/abstract.ml", lines 855-869, characters 2-85:
855 | ..match (s, cPsi) with
856 |   | (I.Shift _, I.Null) -> tS
857 |   | (I.Shift k, I.DDec _) ->
858 |      subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS
859 | 
...
866 |     (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *)
867 | 
868 |   | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) ->
869 |      subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Shift _, CtxVar _)

File "src/core/abstract.ml", lines 880-894, characters 2-48:
880 | ..function
881 |   | I.Empty -> I.Empty
882 |   | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ
883 |   | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) ->
884 |      let cQ' = abstractCtx cQ in
...
891 |   | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) ->
892 |      let cQ' = abstractCtx cQ in
893 |      let tA' = abstractTyp cQ 0 (tA, LF.id) in
894 |      I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA')))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec
  (_,
  FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))

File "src/core/abstract.ml", lines 900-906, characters 2-39:
900 | ..match cPsi with
901 |   | I.Null -> I.Null
902 |   | I.CtxVar psi -> cPsi
903 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
904 |      let cPsi' = abstractDctx cQ cPsi (l - 1) in
905 |      let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in
906 |      I.DDec (cPsi', I.TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/abstract.ml", lines 930-940, characters 2-20:
930 | ..function
931 |   | (I.Atom (loc, a, tS), s (* id *)) ->
932 |      I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s))
933 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
934 |      I.PiTyp
...
937 |        )
938 |   | (I.Sigma typRec, s) ->
939 |      let typRec' = abstractMVarTypRec cQ offset (typRec, s) in
940 |      I.Sigma typRec'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 954-962, characters 2-29:
954 | ..function
955 |   | (I.Lam (loc, x, tM), s) ->
956 |      I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s))
957 |   | (I.Tuple (loc, tuple), s) ->
958 |      I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s))
959 |   | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) ->
960 |      I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity)
961 |   | (I.LFHole (loc, id, name), s) ->
962 |      I.LFHole (loc, id, name)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _, _)

File "src/core/abstract.ml", lines 1000-1036, characters 2-46:
1000 | ..function
1001 |   | I.BVar _ as mH -> mH
1002 |   | I.Const _ as mH -> mH
1003 | 
1004 |   | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns)
...
1033 |      Error.raise_not_implemented "[abstractMVarHead] AnnH case"
1034 | 
1035 |   | I.Proj (head, k) ->
1036 |      I.Proj (abstractMVarHead cQ loff head, k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(FVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/abstract.ml", lines 1091-1097, characters 2-39:
1091 | ..function
1092 |   | I.Null -> I.Null
1093 |   | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv)
1094 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
1095 |      let cPsi' = abstractMVarDctx cQ loff cPsi in
1096 |      let tA' = abstractMVarTyp cQ loff (tA, LF.id) in
1097 |      I.DDec (cPsi', I.TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/abstract.ml", lines 1110-1112, characters 30-31:
1110 | ..............................(I.Decl d) =
1111 |   let mtyp' = abstractMVarMTyp cQ d.typ loff in
1112 |   I.Decl { d with typ = mtyp' }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/abstract.ml", lines 1121-1138, characters 2-58:
1121 | ..match cQ with
1122 |   | I.Empty -> I.Empty
1123 |   | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
1124 |      let cQ' = abstractMVarCtx cQ (l - 1) in
1125 |      I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity))))
...
1135 |       * is it ever hit on correct code?  -jd 2009-02-12
1136 |       * No. This case should not occur in correct code - bp
1137 |       *)
1138 |      raise (Error (Name.location name, UnknownIdentifier))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (MMV _, Pure (LFTyp _)))

File "src/core/abstract.ml", lines 1150-1154, characters 2-20:
1150 | ..function
1151 |   | I.ClObj (phat, tM) ->
1152 |      I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM)
1153 |   | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi)
1154 |   | I.MV k -> I.MV k
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MUndef

File "src/core/abstract.ml", lines 1167-1179, characters 4-21:
1167 | ....function
1168 |     | I.Empty -> I.Empty
1169 |     | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
1170 |        let cQ'' = ctxToMCtx' cQ' in
1171 |        I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity })
...
1176 |        let cQ'' = ctxToMCtx' cQ' in
1177 |        I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity })
1178 |     | I.Dec (cQ', FDecl (_, Impure)) ->
1179 |        ctxToMCtx' cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (FV _, Pure (LFTyp _)))

File "src/core/abstract.ml", lines 1208-1217, characters 2-8:
1208 | ..match cQ with
1209 |   | Int.LF.Empty -> (tA', 0)
1210 |   | Int.LF.Dec (_, FDecl (s, _)) ->
1211 |      let cQ' = abstractCtx cQ in
1212 |      let tA2 = abstractTyp cQ' 0 (tA', LF.id) in
1213 |      let cPsi = ctxToCtx cQ' in
1214 |      begin match raiseType' cPsi tA2 with
1215 |      | (None, tA3) -> (tA3, length' cPsi)
1216 |      | _ -> raise (Error (Location.ghost, LeftoverVars))
1217 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, CtxV _)

File "src/core/abstract.ml", lines 1246-1287, characters 2-28:
1246 | ..function
1247 |   | Comp.TypBase (loc, a, ms) ->
1248 |      let (cQ', ms') = collect_meta_spine p cQ ms in
1249 |      (cQ', Comp.TypBase (loc, a, ms'))
1250 |   | Comp.TypCobase (loc, a, ms) ->
...
1284 | 
1285 |   | Comp.TypInd tau ->
1286 |      let (cQ', tau') = collectCompTyp p cQ tau in
1287 |      (cQ', Comp.TypInd tau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDef (_, _, _)

File "src/core/abstract.ml", lines 1291-1296, characters 2-54:
1291 | ..function
1292 |   | I.Empty -> (cQ, I.Empty)
1293 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
1294 |      let (cQ1, cG') = collectGctx cQ cG in
1295 |      let (cQ2, tau') = collectCompTyp 0 cQ1 tau in
1296 |      (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/abstract.ml", lines 1463-1489, characters 2-52:
1463 | ..function
1464 |   | Comp.TypBase (loc, a, cS) ->
1465 |      let cS' = abstractMVarMetaSpine cQ offset cS in
1466 |      Comp.TypBase (loc, a, cS')
1467 |   | Comp.TypCobase (loc, a, cS) ->
...
1486 |        )
1487 | 
1488 |   | Comp.TypInd tau ->
1489 |      Comp.TypInd (abstractMVarCompTyp cQ offset tau)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _)|TypClo (_, _))

File "src/core/abstract.ml", lines 1492-1497, characters 2-47:
1492 | ..function
1493 |   | I.Empty -> I.Empty
1494 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
1495 |      let cG' = abstractMVarGctx cQ offset cG in
1496 |      let tau' = abstractMVarCompTyp cQ offset tau in
1497 |      I.Dec (cG', Comp.CTypDecl (x, tau', flag))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/abstract.ml", lines 1698-1700, characters 4-48:
1698 | ....match (p, cD) with
1699 |     | (0, _) -> cD
1700 |     | (_, I.Dec (cD', decl)) -> drop (p - 1) cD'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1, Empty)

File "src/core/abstract.ml", lines 1722-1724, characters 8-24:
1722 | ........let I.Dec (cD1', decl) = cD1 in
1723 |         let cD = subtract cD1' cD2 in
1724 |         I.Dec (cD, decl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/abstract.ml", lines 1785-1789, characters 2-24:
1785 | ..function
1786 |   | I.Null -> cPsi1
1787 |   | I.DDec (cPsi2', dec) ->
1788 |      let cPsi1' = appDCtx cPsi1 cPsi2' in
1789 |      I.Dec (cPsi1', dec)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Unify.cmo -c -impl src/core/unify.ml)
File "src/core/unify.ml", lines 163-195, characters 30-70:
163 | ..............................(Atom (_, a, _) as tP, s) =
164 |     dprintf
165 |       begin fun p ->
166 |       p.fmt "@[<v 6>[genMMVarstr] of type @[%a@]@,in context cPsi = @[%a@]@]"
167 |         (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tP, s))
...
192 |          cPsi |- s_proj : cPhi
193 |          cPsi |- comp  ss' s_proj   : cPhi' *)
194 |     let ss_proj = Substitution.LF.comp ss' s_proj in
195 |     Root (loc, MMVar ((u, Whnf.m_id), ss_proj), Nil, Plicity.explicit)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)

File "src/core/unify.ml", lines 575-585, characters 6-9:
575 | ......begin match applyMSub k ms with
576 |       | MUndef ->
577 |          (* Psi1, x:tA |- s' <= Psi2 *)
578 |          (Whnf.mcomp mt' (MShift 1), cD2)
579 | 
...
582 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
583 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
584 |          (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity }))
585 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 566-590, characters 4-38:
566 | ....match (t, cD1) with
567 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
568 | 
569 |    | (MShift k, Dec _) ->
570 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
...
587 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
588 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
589 |       (* cD1 |- mt' <= cD2 *)
590 |       (Whnf.mcomp mt' (MShift 1), cD2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MDot (MV k, mt), Dec (cD1, DeclOpt _))

File "src/core/unify.ml", lines 810-819, characters 7-10:
810 | .......begin match applyMSub u ms with
811 |        | MV v ->
812 |           Root
813 |             ( loc
814 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
815 |             , Nil
816 |             , plicity
817 |             )
818 |        | MUndef -> raise NotInvertible
819 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 822-830, characters 7-46:
822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
823 |        let d = Context.length cD0 - Context.length cD_d in
824 |        let cPsi1 =
825 |          if d = 0
826 |          then cPsi1
827 |          else Whnf.cnormDCtx (cPsi1, MShift d)
828 |        in
829 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
830 |        Root (loc, FMVar (u, s'), Nil, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=CTyp _; _ })

File "src/core/unify.ml", lines 833-841, characters 7-46:
833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in
834 |        let d = Context.length cD0 - Context.length cD_d in
835 |        let cPsi1 =
836 |          if d = 0
837 |          then cPsi1
838 |          else Whnf.cnormDCtx (cPsi1, MShift d)
839 |        in
840 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
841 |        Root (loc, FPVar (p, s'), Nil, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=CTyp _; _ })

File "src/core/unify.ml", lines 846-850, characters 7-10:
846 | .......begin match applyMSub p ms with
847 |        | MV q ->
848 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
849 |        | MUndef -> raise NotInvertible
850 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 747-862, characters 4-62:
747 | ....match sM with
748 |     | (Lam (loc, x, tM), s) ->
749 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
750 | 
751 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
...
859 |          )
860 | 
861 |     | (Tuple (loc, trec), s) ->
862 |        Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((LFHole (_, _, _)|Clo _), _)

File "src/core/unify.ml", lines 888-891, characters 7-10:
888 | .......begin match bvarSub k ssubst with
889 |        | Undef -> raise NotInvertible
890 |        | Head (BVar k') -> BVar k'
891 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 894-897, characters 7-10:
894 | .......begin match bvarSub k ssubst with
895 |        | Head (BVar _ as head) -> head
896 |        | Undef -> raise NotInvertible
897 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 932-936, characters 7-10:
932 | .......begin match applyMSub u ms with
933 |        | MV v ->
934 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
935 |        | MUndef -> raise NotInvertible
936 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 940-944, characters 7-10:
940 | .......begin match applyMSub p ms with
941 |        | MV q ->
942 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
943 |        | MUndef -> raise NotInvertible
944 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 948-952, characters 7-10:
948 | .......begin match applyMSub p ms with
949 |        | MV q ->
950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
951 |        | MUndef -> raise NotInvertible
952 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 886-952, characters 4-10:
886 | ....match head with
887 |     | BVar k ->
888 |        begin match bvarSub k ssubst with
889 |        | Undef -> raise NotInvertible
890 |        | Head (BVar k') -> BVar k'
...
949 |        | MV q ->
950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
951 |        | MUndef -> raise NotInvertible
952 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Proj
  ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
   FPVar _|HClo (_, _, _)|HMClo (_, _)),
  _)

File "src/core/unify.ml", lines 956-959, characters 4-46:
956 | ....function
957 |     | Undefs -> raise (Failure "Variable dependency")
958 |     | Shift k -> Shift (n + k)
959 |     | Dot (ft, ss') -> shiftInvSub (n - 1) ss'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/unify.ml", lines 981-985, characters 9-40:
981 | .........match applyMSub s ms with
982 |          | MV v ->
983 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
984 |             (v, cPhi, cPsi')
985 |          | MUndef -> raise NotInvertible
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1024-1030, characters 7-10:
1024 | .......begin match applyMSub s ms with
1025 |        | MV v ->
1026 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
1027 |           (* applyMSub to ctx_offset ? *)
1028 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
1029 |        | MUndef -> raise NotInvertible
1030 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1033-1034, characters 7-64:
1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in
1034 |        FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=ClTyp (STyp (Ren, _), _); _ })

File "src/core/unify.ml", lines 1063-1069, characters 4-74:
1063 | ....match (mt, cD1) with
1064 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
1065 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) ->
1066 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
1067 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
1068 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
1069 |        MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MDot (mobj, mt'), Empty)

File "src/core/unify.ml", lines 1072-1080, characters 4-90:
1072 | ....match mobj with
1073 |     | MV n ->
1074 |        begin match applyMSub n ms with
1075 |        | MUndef -> raise NotInvertible
1076 |        | ft -> ft
1077 |        end
1078 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
1079 |     | CObj cPsi -> Error.raise_violation "Not implemented"
1080 |     | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/unify.ml", lines 1152-1154, characters 7-80:
1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Shift 1

File "src/core/unify.ml", lines 1124-1154, characters 4-80:
1124 | ....match sM with
1125 |     | (LFHole _ as n, _) -> n
1126 |     | (Lam (loc, x, tM), s) ->
1127 |        dprintf
1128 |          begin fun p ->
...
1151 |     | (Root (loc, head, tS, plicity), s) ->
1152 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _, _)

File "src/core/unify.ml", lines 1173-1184, characters 4-9:
1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
1174 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
1175 |     then raise (Failure "Variable occurrence")
1176 |     else
1177 |       begin
...
1181 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
1182 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
1183 |         ((v, mr), r)
1184 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1187-1199, characters 4-37:
1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
1188 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
1189 |     then raise (Failure "Variable occurrence")
1190 |     else
1191 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
...
1196 |         , Root (loc, MVar (v, idsub), Nil, Plicity.explicit)
1197 |         , mmvar.constraints.contents
1198 |         );
1199 |       (v, comp (comp idsub t) ssubst)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 1202-1211, characters 3-10:
1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
1203 |    let d = Context.length cD0 - Context.length cD_d in
1204 |    let cPsi1 =
1205 |      if d = 0
1206 |      then cPsi1
1207 |      else Whnf.cnormDCtx (cPsi1, MShift d)
1208 |    in
1209 |    let t' = simplifySub cD0 cPsi t in
1210 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
1211 |    (u, s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=CTyp _; _ })

File "src/core/unify.ml", lines 1216-1219, characters 7-14:
1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
1217 |        let t' = simplifySub cD0 cPsi t in
1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
1219 |        (v, s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, CTyp _)

File "src/core/unify.ml", lines 1214-1220, characters 4-63:
1214 | ....match applyMSub u ms with
1215 |     | MV v ->
1216 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
1217 |        let t' = simplifySub cD0 cPsi t in
1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
1219 |        (v, s')
1220 |     | MUndef -> raise (Failure "[Prune] Bound MVar dependency")
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1246-1254, characters 7-10:
1246 | .......begin match bvarSub k ssubst with
1247 |        | Undef ->
1248 |           let s =
1249 |             Format.asprintf "[Prune] Bound variable dependency : head = %a"
1250 |               (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head
1251 |           in
1252 |           raise (Failure s)
1253 |        | Head (BVar _ as h') -> h'
1254 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1223-1258, characters 4-11:
1223 | ....match head with
1224 |     | MMVar ((i, mt), t) ->
1225 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
1226 |     | MVar (Inst i, t) ->
1227 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
...
1255 | 
1256 |     | Const _
1257 |       | FVar _ ->
1258 |        head
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(AnnH (_, _)|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1293-1317, characters 4-57:
1293 | ....match (s, cPsi1) with
1294 |     | (EmptySub, Null) -> EmptySub
1295 |     | (Undefs, Null) -> EmptySub
1296 |     | (Shift n, DDec _) ->
1297 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
...
1314 | 
1315 |     | (Dot _, _)
1316 |       | (EmptySub, _)
1317 |       -> Error.raise_violation "Badly typed substitution"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undefs, (CtxVar _|DDec (_, _)))

File "src/core/unify.ml", lines 1321-1323, characters 4-70:
1321 | ....match ft with
1322 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
1323 |     | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/unify.ml", lines 1354-1357, characters 9-59:
1354 | .........function
1355 |          | Undefs -> (EmptySub, Null)
1356 |          | Shift k -> (id, CtxVar psi)
1357 |          | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/unify.ml", lines 1370-1374, characters 9-40:
1370 | .........match applyMSub s mt with
1371 |          | MV v ->
1372 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
1373 |             cPsi'
1374 |          | MUndef -> raise NotInvertible
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1387-1390, characters 7-18:
1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
1388 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
1389 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
1390 |        (id, cPsi1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|PTyp _), _)

File "src/core/unify.ml", lines 1398-1400, characters 7-18:
1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in
1399 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
1400 |        (id, cPsi1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })

File "src/core/unify.ml", lines 1407-1426, characters 7-10:
1407 | .......begin match bvarSub n ssubst with
1408 |        | Undef ->
1409 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
1410 |           (comp s1' shift, cPsi1')
1411 | 
...
1423 |           in
1424 |           (* cPsi1' |- s1_i <= cPsi' *)
1425 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
1426 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1431-1448, characters 7-10:
1431 | .......begin match bvarSub n ssubst with
1432 |        | Undef ->
1433 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
1434 |           (comp s1' shift, cPsi1')
1435 | 
...
1445 |           in
1446 |           (* cPsi1' |- s1_i <= cPsi' *)
1447 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
1448 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1343-1471, characters 4-31:
1343 | ....match (s, cPsi1) with
1344 |     | (Shift n, DDec _) ->
1345 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
1346 |     | (Shift _, Null)
1347 |       | (EmptySub, Null)
...
1468 | 
1469 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
1470 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
1471 |        (comp s1' shift, cPsi1')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub, (CtxVar _|DDec (_, _)))

File "src/core/unify.ml", lines 1474-1487, characters 4-21:
1474 | ....match sA with
1475 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
1476 |     | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) ->
1477 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
1478 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
...
1484 | 
1485 |     | (Sigma typ_rec, s) ->
1486 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
1487 |        Sigma typ_rec'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TClo _, _)

File "src/core/unify.ml", lines 1504-1507, characters 7-10:
1504 | .......begin match applyMSub psi ms with
1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
1506 |        | MV k -> CtxVar (CtxOffset k)
1507 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|ClObj (_, _))

File "src/core/unify.ml", lines 1510-1514, characters 7-10:
1510 | .......begin match mmvar.instantiation.contents with
1511 |        | None -> cPsi
1512 |        | Some (ICtx cPhi) ->
1513 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
1514 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/unify.ml", lines 1501-1529, characters 4-37:
1501 | ....match cPsi with
1502 |     | Null -> Null
1503 |     | CtxVar (CtxOffset psi) ->
1504 |        begin match applyMSub psi ms with
1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
...
1526 |            (ms, Substitution.LF.id)
1527 |            rOccur
1528 |        in
1529 |        DDec (cPsi', TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/unify.ml", lines 1574-1583, characters 7-10:
1574 | .......begin match bvarSub k ssubst with
1575 |        | Undef ->
1576 |           (* Psi1, x:tA |- s' <= Psi2 *)
1577 |           (comp s' shift, cPsi2)
1578 | 
1579 |        | Head (BVar _) ->
1580 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
1581 |                   A = [s']([s']^-1 A) *)
1582 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
1583 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1590-1599, characters 7-10:
1590 | .......begin match bvarSub k ssubst with
1591 |        | Undef ->
1592 |           (* Psi1, x:tA |- s' <= Psi2 *)
1593 |           (comp s' shift, cPsi2)
1594 | 
1595 |        | Head (BVar _) ->
1596 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
1597 |                   A = [s']([s']^-1 A) *)
1598 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
1599 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1551-1604, characters 4-29:
1551 | ....match (t, cPsi1) with
1552 |     | (EmptySub, Null)
1553 |       | (Undefs, Null)
1554 |       | (Shift _, Null) ->
1555 |        (id, Null)
...
1601 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
1602 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
1603 |        (* sP1 |- s' <= cPsi2 *)
1604 |        (comp s' shift, cPsi2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub, (CtxVar _|DDec (_, _)))

File "src/core/unify.ml", lines 1646-1651, characters 4-56:
1646 | ....match (sTup1, sTup2) with
1647 |     | ((Last tM, s1), (Last tN, s2)) ->
1648 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
1649 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
1650 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
1651 |         unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Last tM, s1), (Cons (_, _), _))

File "src/core/unify.ml", lines 1654-1680, characters 4-9:
1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in
1655 |     if isId t1'
1656 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
1657 |     else
1658 |       begin
...
1677 |            (* This might actually need to add a constraint, in which case
1678 |            "NotInvertible" seems the wrong kind of exception... *)
1679 |            Error.raise_violation "Unification violation"
1680 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1694-1705, characters 9-35:
1694 | .........match Whnf.whnfTyp sA with
1695 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
1696 |             (* cPsi' |- Pi x:A.B <= typ
1697 |                cPsi  |- s <= cPsi'
1698 |                cPsi  |- tN <= [s]tA
...
1702 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
1703 |             LF.App (tN, tS)
1704 | 
1705 |          | (LF.Atom _, _) -> LF.Nil
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/unify.ml", lines 1683-1710, characters 4-15:
1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in
1684 |     match sM2 with
1685 |     | Root (loc, Const c, _, plicity) ->
1686 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
1687 |        dprintf
...
1707 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
1708 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
1709 |        Some tM1
1710 |     | _ -> None
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1716-1729, characters 6-32:
1716 | ......match Whnf.whnfTyp sA with
1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
1718 |          (* cPsi' |- Pi x:A.B <= typ
1719 |             cPsi  |- s <= cPsi'
1720 |             cPsi  |- tN <= [s]tA
...
1726 |          in
1727 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
1728 |          LF.App (tN, tS)
1729 |       | (LF.Atom _, _) -> LF.Nil
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/unify.ml", lines 1714-1762, characters 4-15:
1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
1715 |     let rec genSpine cD1 cPsi1 sA =
1716 |       match Whnf.whnfTyp sA with
1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
1718 |          (* cPsi' |- Pi x:A.B <= typ
...
1759 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
1760 |        Some tM1
1761 | 
1762 |     | _ -> None
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 1766-1769, characters 4-79:
1766 | ....match tm with
1767 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
1768 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
1769 |     | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ISub s, (MTyp _|PTyp _))

File "src/core/unify.ml", lines 1772-1796, characters 4-9:
1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
1773 |     if isId t1' && isMId mt1
1774 |     then
1775 |       begin
1776 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
...
1793 |         (* with | NotInvertible -> Error.raise_violation "Unification violation" *)
1794 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
1795 |            the wrong kind of exception... *)
1796 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1810-1882, characters 4-76:
1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in
1811 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
1812 |     (* cD |- mtt1 : cD0 and  cD ; cPsi |- t1' : cPsi1 *)
1813 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
1814 |     let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *)
...
1879 |       p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a"
1880 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
1881 |       end;
1882 |     instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1885-1918, characters 4-102:
1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
1886 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
1887 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
1888 |          then cD ; cPsi1 |- s' <= cPsi' *)
1889 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
...
1915 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
1916 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
1917 |      *)
1918 |     instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1934-1975, characters 7-12:
1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
1935 |        dprnt "(000) MVar-MVar";
1936 |        (* by invariant of whnf:
1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
1938 |           r1 and r2 are uninstantiated  (None)
...
1972 |          begin
1973 |            let id = next_constraint_id () in
1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
1975 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 1933-1975, characters 7-12:
1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
1934 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
1935 |        dprnt "(000) MVar-MVar";
1936 |        (* by invariant of whnf:
1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
...
1972 |          begin
1973 |            let id = next_constraint_id () in
1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
1975 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 2439-2452, characters 4-52:
2439 | ....match (spine1, spine2) with
2440 |     | ((Nil, _), (Nil, _)) -> ()
2441 | 
2442 |     | ((SClo (tS1, s1'), s1), sS) ->
2443 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
...
2449 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
2450 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
2451 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
2452 |        unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Nil, _), (App (_, _), _))

File "src/core/unify.ml", lines 2659-2710, characters 7-61:
2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
2660 |        if mmvar1.instantiation == mmvar2.instantiation
2661 |        then
2662 |          if Option.equal Id.cid_schema_equal schema1 schema2
2663 |          then
...
2707 |          Error.raise_violation
2708 |            "Case where both meta-substitutions associated with \
2709 |             context variables are not pattern substitutions \
2710 |             should not happen and is not implemented for now"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CTyp schema1, ClTyp (_, _))

File "src/core/unify.ml", lines 2714-2747, characters 7-61:
2714 | .......let CTyp s_cid = mmvar.typ in
2715 |        if isPatMSub theta
2716 |        then
2717 |          begin
2718 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
...
2744 |          Error.raise_violation
2745 |            "Case where both meta-substitutions associated with \
2746 |             context variables are not pattern substitutions \
2747 |             should not happen and is not implemented for now"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (_, _)

File "src/core/unify.ml", lines 2785-2786, characters 4-43:
2785 | ....let Decl { typ = cT; _ } = cdecl in
2786 |     unifyMObj cD (mO, t) (mO', t') (cT, mt)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/unify.ml", lines 2820-2832, characters 7-53:
2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in
2821 |        let mOt = Whnf.cnormMetaObj (mO, t) in
2822 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
2823 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
2824 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
...
2829 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
2830 |          end;
2831 |        unifyMetaTyp cD (mT, t) (mT', t');
2832 |        unifyMetaSpine cD (mS, t) (mS', t') (cK', mt')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ctype _

File "src/core/unify.ml", lines 2837-2840, characters 4-81:
2837 | ....function
2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MTyp tA1, (PTyp _|STyp (_, _)))

File "src/core/unify.ml", lines 2836-2840, characters 17-81:
2836 | .................Unification cD cPsi =
2837 |     function
2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Matching

File "src/core/unify.ml", lines 2842-2850, characters 18-57:
2842 | ..................Unification cD ctyp1 ctyp2 =
2843 |     match (ctyp1, ctyp2) with
2844 |     | (ClTyp (tp1, cPsi1), ClTyp (tp2, cPsi2)) ->
2845 |        unifyDCtx1 Unification cD cPsi1 cPsi2;
2846 |        unifyClTyp Unification cD cPsi1 (tp1, tp2)
2847 |     | (CTyp schema1, CTyp schema2) ->
2848 |        if Bool.not (Option.equal Id.cid_schema_equal schema1 schema2)
2849 |        then raise (Failure "CtxPi schema clash")
2850 |     | _ -> raise (Failure "Computation-level Type Clash")
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Matching

File "src/core/unify.ml", lines 2938-2941, characters 4-62:
2938 | ....match (itM1, itM2) with
2939 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
2940 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
2941 |     | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(INorm tM1, (IHead _|ISub _|ICtx _))

File "src/core/unify.ml", lines 2950-2962, characters 7-10:
2950 | .......begin match !cnstr with
2951 |        | Queued id ->
2952 |           forceCnstr mflag (nextCnstr ())
2953 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
2954 |           solveConstraint cnstr;
...
2959 |           solveConstraint cnstr;
2960 |           unifyHead mflag cD cPsi h1 h2;
2961 |           forceCnstr mflag (nextCnstr ())
2962 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))

File "src/core/unify.ml", lines 2994-3029, characters 7-100:
2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
2995 |        solveConstraint c;
2996 |        dprintf
2997 |          begin fun p ->
2998 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
...
3026 |         *)
3027 |        if solvedCnstrs (!globalCnstrs)
3028 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
3029 |        else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated"))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Queued _

File "src/core/unify.ml", lines 3202-3204, characters 8-68:
3202 | ........match (m1, m2) with
3203 |         | (MObj tM1, MObj tM2) ->  unify Empty cPsi (tM1, id) (tM2,id)
3204 |         | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MObj tM1, (PObj _|SObj _))

File "src/core/unify.ml", lines 3208-3217, characters 4-49:
3208 | ....match (m1, m2) with
3209 |     | (CObj cPsi, CObj cPhi) ->
3210 |        unifyDCtx1
3211 |          Unification
3212 |          Empty
3213 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
3214 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
3215 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
3216 |        (* unify_phat phat1 phat2; *)
3217 |        unifyClObj (Context.hatToDCtx phat1) m1 m2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CObj cPsi, (MUndef|ClObj (_, _)|MV _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Interactive.cmo -c -impl src/core/interactive.ml)
File "src/core/interactive.ml", lines 202-213, characters 10-26:
202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
203 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
204 |           let k = List.length cD_tail in
205 |           let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in
206 |           let cg' =
...
210 |               , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id)
211 |               )
212 |           in
213 |           (cD'', cg', ms0)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/interactive.ml", lines 183-214, characters 18-13:
183 | ..................(LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail =
184 |   match mtyp with
185 |   | LF.CTyp _ ->
186 |      Cover.genContextGoals cD' (n, mtyp, plicity, inductivity)
187 |      |> List.map
...
211 |               )
212 |           in
213 |           (cD'', cg', ms0)
214 |           end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Opsem.cmo -c -impl src/core/opsem.ml)
File "src/core/opsem.ml", lines 80-83, characters 2-30:
80 | ..match cM' with
81 |   | LF.ClObj (phat, LF.MObj tM) -> (loc, cM')
82 |   | LF.ClObj (phat, LF.PObj h) -> (loc, cM')
83 |   | LF.CObj cPsi -> (loc, cM')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/opsem.ml", lines 121-137, characters 7-17:
121 | .......function
122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
124 |             when Id.cid_comp_dest_equal cid cid' ->
125 |           Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *)
...
134 |           | Value v -> Value v
135 |           end
136 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) ->
137 |           trim br
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _)

File "src/core/opsem.ml", lines 119-142, characters 5-8:
119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in
120 |      let rec trim =
121 |        function
122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
...
139 |      begin match trim fbr with
140 |      | FunBranch fr -> Comp.FunValue fr
141 |      | Value v -> v
142 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)|
CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)|
TupleValue (T (_, _, _)))

File "src/core/opsem.ml", lines 91-290, characters 2-50:
 91 | ..match i with
 92 |   | Comp.Const (_, cid) ->
 93 |      dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid);
 94 |      begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with
 95 |      | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) ->
...
287 |      eval_branches loc vscrut branches (theta, eta)
288 | 
289 |   | Comp.Hole (_) ->
290 |      Error.raise_violation "Source contains holes"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MApp (_, _, (_, ClObj (_, SObj _)), _, _)

File "src/core/opsem.ml", lines 321-325, characters 2-36:
321 | ..match (cObj, cObj') with
322 |   | (LF.MObj tM, LF.MObj tM') ->
323 |      Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id)
324 |   | (LF.PObj h, LF.PObj h') ->
325 |      Unify.unifyH LF.Empty phat h h'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MObj tM, (PObj _|SObj _))

File "src/core/opsem.ml", lines 437-458, characters 4-10:
437 | ....function
438 |     | Comp.NilValBranch -> FunBranch (Comp.NilValBranch)
439 |     | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) ->
440 |        begin try
441 |            let eta' = match_pattern (v, eta) (p, theta) in
...
455 |                eval_branch brs
456 |             | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg);
457 |                                     eval_branch brs)
458 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfcheck.cmo -c -impl src/core/lfcheck.ml)
File "src/core/lfcheck.ml", lines 225-230, characters 2-19:
225 | ..function
226 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
227 |   | DDec (cPsi', TypDecl (n, tA)) ->
228 |      let s = (ctxToSub' cPhi cPsi' : sub) in
229 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
230 |      Dot (Obj u, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi', TypDeclOpt _)

File "src/core/lfcheck.ml", lines 246-330, characters 2-55:
246 | ..match (sM, sA) with
247 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *)
248 |      check cD
249 |        (DDec (cPsi, S.LF.decSub tX s2))
250 |        (tM, S.LF.dot1 s1)
...
327 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
328 |      end
329 |   | ((Root (loc, _, _, _), _ (* id *)), _ ) ->
330 |      raise (Error (loc, CheckError (cD, cPsi, sM, sA)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Clo _, _), _)

File "src/core/lfcheck.ml", lines 361-370, characters 4-23:
361 | ....match (tS, sA) with
362 |     | ((Nil, _), sP) -> sP
363 | 
364 |     | ((SClo (tS, s'), s), sA) ->
365 |        syn (tS, S.LF.comp s' s) sA
366 | 
367 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) ->
368 |        check cD cPsi (tM, s1) (tA1, s2);
369 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
370 |        syn (tS, s1) tB2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _))

File "src/core/lfcheck.ml", lines 346-377, characters 16-23:
346 | ................(Root (loc, h, tS, _), s (* id *)) =
347 |   let rec spineLength =
348 |     function
349 |     | Nil -> 0
350 |     | SClo (tS, _) -> spineLength tS
...
374 |   (* Check first that we didn't supply too many arguments. *)
375 |   if typLength sA' < spineLength tS
376 |   then raise (Error (loc, SpineIllTyped (typLength sA', spineLength tS)));
377 |   syn (tS, s) (sA', s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _)

File "src/core/lfcheck.ml", lines 393-394, characters 5-7:
393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
394 |      tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfcheck.ml", lines 400-409, characters 10-25:
400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
401 |           dprintf
402 |             begin fun p ->
403 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
404 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
405 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
406 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
407 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
408 |             end;
409 |           (recA, S.LF.id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfcheck.ml", lines 411-413, characters 10-19:
411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
412 |           checkSub loc cD cPsi s Subst cPsi';
413 |           (recA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _)

File "src/core/lfcheck.ml", lines 398-414, characters 7-64:
398 | .......match tuple_head with
399 |        | BVar k' ->
400 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
401 |           dprintf
402 |             begin fun p ->
...
411 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
412 |           checkSub loc cD cPsi s Subst cPsi';
413 |           (recA, s)
414 |        | FPVar (name, _) -> raise (Error (loc, LeftoverFV name))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
HClo (_, _, _)|HMClo (_, _))

File "src/core/lfcheck.ml", lines 446-457, characters 5-17:
446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
447 |      dprintf
448 |        begin fun p ->
449 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
450 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
...
454 |          f cPsi'
455 |        end;
456 |      checkSub loc cD cPsi s Subst cPsi' ;
457 |      TClo (tA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/lfcheck.ml", lines 461-474, characters 5-37:
461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
462 |      dprintf
463 |        begin fun p ->
464 |        let f = P.fmt_ppr_lf_mctx P.l0 in
465 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
...
471 |      checkMSub loc cD t' mmvar.cD;
472 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
473 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
474 |      TClo (Whnf.cnormTyp (tA, t'), r)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/lfcheck.ml", lines 391-506, characters 2-41:
391 | ..match (head, cl) with
392 |   | (BVar k', _) ->
393 |      let TypDecl (_, tA) = ctxDec cPsi k' in
394 |      tA
395 | 
...
503 |      TClo (tA, s)
504 | 
505 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
506 |      raise (Error (loc, LeftoverFV name))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MVar (Inst _, _), Subst)
(However, some guarded clause may match this value.)

File "src/core/lfcheck.ml", lines 509-528, characters 2-13:
509 | ..match cPsi with
510 |   | Null -> true (* we need to succeed because coverage should detect that
511 |                       it is not inhabited *)
512 | 
513 |   | CtxVar ctx_var ->
...
525 | 
526 |   | DDec (rest, TypDecl _) ->
527 |      canAppear cD rest head sA loc
528 |      || false...........................................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (rest, TypDeclOpt _)

File "src/core/lfcheck.ml", lines 643-655, characters 2-23:
643 | ..match sS1, sK with
644 |   | (Nil, _), sK ->
645 |     sK
646 | 
647 |   | (SClo (tS, s'), s), sK ->
...
652 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
653 | 
654 |   | (App _, _), (Typ, _) ->
655 |     raise SpineMismatch
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _))

File "src/core/lfcheck.ml", lines 664-681, characters 2-47:
664 | ..match tA with
665 |   | Atom (loc, a, tS) ->
666 |      let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
667 |      begin
668 |        try
...
678 |      checkTyp cD cPsi (tA, s);
679 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
680 | 
681 |   | Sigma arec -> checkTypRec cD cPsi (arec, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfcheck.ml", lines 710-714, characters 2-53:
710 | ..function
711 |   | Typ -> ()
712 |   | PiKind ((TypDecl (x, tA), _, _), kind) ->
713 |      checkTyp cD cPsi (tA, S.LF.id);
714 |      checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)

File "src/core/lfcheck.ml", lines 724-725, characters 2-47:
724 | ..match decl with
725 |   | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfcheck.ml", lines 734-754, characters 2-7:
734 | ..match cPsi with
735 |   | Null -> ()
736 |   | DDec (cPsi, tX) ->
737 |      checkDCtx cD cPsi;
738 |      checkDec cD cPsi (tX, S.LF.id)
...
751 |          (P.fmt_ppr_lf_mctx P.l0) cD
752 |        end;
753 |      ignore (Whnf.mctxLookup cD k);
754 |      ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/lfcheck.ml", lines 962-963, characters 5-47:
962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
963 |      checkSchema loc cD cPhi schema_name schema
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57:
1019 | ..match (sArec, sBrec) with
1020 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
1021 |      None
1022 | 
1023 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
1024 |      Some (recA, s)
1025 | 
1026 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
1027 |      elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((SigmaLast (_, _), _), (SigmaElem (_, _, _), _))

File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69:
1075 | ..match (cM, cTt) with
1076 |   | (CObj cPsi, (CTyp (Some w), _)) ->
1077 |      let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in
1078 |      checkSchema loc cD cPsi name schema
1079 | 
...
1098 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
1099 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
1100 |      if Bool.not (Whnf.convMTyp mtyp1 mtyp2)
1101 |      then Error.raise_violation ("Contextual substitution ill-typed")
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CObj cPsi, (CTyp None, _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfrecon.cmo -c -impl src/core/lfrecon.ml)
File "src/core/lfrecon.ml", lines 253-262, characters 2-29:
253 | ..function
254 |   | Apx.LF.BVar _ -> "BVar"
255 |   | Apx.LF.Const _ -> "Const"
256 |   | Apx.LF.MVar _ -> "MVar"
257 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
258 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
259 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
260 |   | Apx.LF.FVar _ -> "FVar"
261 |   | Apx.LF.FMVar _ -> "FMVar"
262 |   | Apx.LF.FPVar _ -> "FPVar"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Hole

File "src/core/lfrecon.ml", lines 275-276, characters 5-19:
275 | .....let (None, d) = Context.dctxToHat cPsi in
276 |      Int.LF.Shift d
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Some _, _)

File "src/core/lfrecon.ml", lines 311-333, characters 8-80:
311 | ........let CTyp s_cid = mmvar1.typ in
312 |         if d = d'
313 |         then
314 |           begin
315 |             begin match c_var with
...
330 |             true
331 |           end
332 |         else
333 |           Error.raise_not_implemented "[unify_phat] ctx_var with a full context"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (_, _)

File "src/core/lfrecon.ml", lines 358-359, characters 9-42:
358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in
359 |          Store.Cid.Schema.get_schema s_cid
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=CTyp None; _ })

File "src/core/lfrecon.ml", lines 352-366, characters 2-92:
352 | ..match ctxvar with
353 |   | Some (Int.LF.CtxOffset _ as phi) ->
354 |      Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi)
355 |   | Some (Int.LF.CtxName n) ->
356 |      begin
...
363 | 
364 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
365 |      Store.Cid.Schema.get_schema s_cid
366 |   | None -> Error.raise_violation "No context variable for which we could retrieve a schema"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (CInst ({typ=CTyp None; _ }, _))

File "src/core/lfrecon.ml", lines 372-376, characters 2-44:
372 | ..function
373 |   | Int.LF.Atom _ -> m
374 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) ->
375 |      dprint (fun () -> "eta FMV - add Lam ");
376 |      Apx.LF.Lam (loc, x, addPrefix loc m tA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 385-389, characters 4-62:
385 | ....function
386 |     | Int.LF.Atom _ -> (k, s)
387 |     | Int.LF.PiTyp (_, tA) ->
388 |        let (k', s') = go (k + 1) s tA in
389 |        (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/lfrecon.ml", lines 391-395, characters 2-18:
391 | ..match tA, s with
392 |   | Int.LF.Atom _, _ -> (k, s)
393 |   | Int.LF.PiTyp _, None ->
394 |      let (k', s') = go k Apx.LF.Id tA in
395 |      (k', Some s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp (_, _), Some _)

File "src/core/lfrecon.ml", lines 399-401, characters 20-71:
399 | ....................(Apx.LF.MVar (x, s)) tA =
400 |   let (_, s') = etaExpSub 0 s tA in
401 |   addPrefix loc (Apx.LF.Root (loc, Apx.LF.MVar (x, s'), Apx.LF.Nil)) tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
FPVar (_, _))

File "src/core/lfrecon.ml", lines 406-410, characters 4-52:
406 | ....function
407 |     | Int.LF.Atom _ -> (k, tS)
408 |     | Int.LF.PiTyp (_, tA') ->
409 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in
410 |        etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/lfrecon.ml", lines 414-417, characters 4-54:
414 | ....match tA with
415 |     | Int.LF.Atom _ -> tM
416 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
417 |        Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 422-424, characters 4-24:
422 | ....match h with
423 |     | Int.LF.BVar x -> Int.LF.BVar (x + k - 1)
424 |     | Int.LF.FVar _ -> h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 457-461, characters 4-55:
457 | ....function
458 |     | Int.LF.Atom _ -> (k, tS)
459 |     | Int.LF.PiTyp (_, tA') ->
460 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
461 |        etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/lfrecon.ml", lines 464-468, characters 4-57:
464 | ....match tA with
465 |     | Int.LF.Atom _ -> tM
466 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
467 |        dprint (fun () -> "eta - add Lam ");
468 |        Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 613-614, characters 2-33:
613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
614 |   getProjIndex loc cD cPsi recA k
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 617-630, characters 2-19:
617 | ..match h with
618 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
619 | 
620 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
621 |      let tp =
...
627 |      let j = getProjIndexFromType loc cD cPsi tp p in
628 |      dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d    j = %d@\n" k j);
629 |      let k' = ConvSigma.map conv_list k - j + 1 in
630 |      Apx.LF.BVar k'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Proj
  ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
   FPVar (_, _)),
  _)

File "src/core/lfrecon.ml", lines 637-643, characters 7-41:
637 | .......function
638 |        | Apx.LF.Id -> Apx.LF.Id
639 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
640 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
641 |           let s' = go s in
642 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
643 |           Apx.LF.Dot (Apx.LF.Head h', s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dot (Obj _, _)

File "src/core/lfrecon.ml", lines 679-691, characters 2-38:
679 | ..match s with
680 |   | Apx.LF.Id -> s
681 | 
682 |   | Apx.LF.EmptySub -> s
683 | 
...
688 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
689 | 
690 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
691 |      flattenVarTuple tM (flattenSub s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)

File "src/core/lfrecon.ml", lines 697-698, characters 2-77:
697 | ..function
698 |   | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Root (_, BVar k, App (_, _))

File "src/core/lfrecon.ml", lines 827-829, characters 5-60:
827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 822-829, characters 2-60:
822 | ..function
823 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
824 |   | Apx.LF.Proj (h, nj) ->
825 |      let (tp, h') = synHead cD loc cPsi h in
826 |      let j = getProjIndexFromType loc cD cPsi tp nj in
827 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _))

File "src/core/lfrecon.ml", lines 858-867, characters 5-8:
858 | .....begin match synHead cD loc cPsi h with
859 |      | (Int.LF.TypDecl (x, tA), h') ->
860 |         let tA' =
861 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
862 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
863 |         in
864 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
865 |         , Int.LF.Dot (Int.LF.Head h', s')
866 |         )
867 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDeclOpt _, _)

File "src/core/lfrecon.ml", lines 884-890, characters 2-66:
884 | ..function
885 |   | Apx.LF.Typ -> Int.LF.Typ
886 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) ->
887 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
888 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
889 |      let tK = elKind cD cPsi' k in
890 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 909-925, characters 2-25:
909 | ..function
910 |   | Apx.LF.Atom (loc, a, s) ->
911 |      let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in
912 |      let s' = mkShift recT cPsi in
913 |      (* let s' = S.LF.id in *)
...
922 | 
923 |   | Apx.LF.Sigma typRec ->
924 |      let typRec' = elTypRec recT cD cPsi typRec in
925 |      Int.LF.Sigma typRec'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 977-1023, characters 2-34:
 977 | ..match (m, sA) with
 978 |   | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) ->
 979 |      (* cPsi' = cPsi, x:tA *)
 980 |      let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in
 981 |      let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in
...
1020 |   | (Apx.LF.LFHole (loc, m_name), tA) ->
1021 |      let id = Holes.allocate () in
1022 |      let name = HoleId.name_of_option m_name in
1023 |      Int.LF.LFHole (loc, id, name)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _))

File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12:
1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
1082 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
1083 |          begin
1084 |            try
1085 |              Unify.unifyTyp cD cPsi sQ sP;
...
1088 |            | Unify.Failure msg ->
1089 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1090 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1091 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12:
1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in
1214 |          dprintf
1215 |            begin fun p ->
1216 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
1217 |              Name.pp u
...
1277 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
1278 |            |_ ->
1279 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
1280 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12:
1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in
1477 |          let d = Context.length cD - Context.length cD_d in
1478 |          let (tA, cPhi) =
1479 |            if d = 0
1480 |            then (tA, cPhi)
...
1497 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
1498 |            | _ ->
1499 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
1500 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12:
1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) =
1572 |            Store.FCVar.get p
1573 |          in
1574 |          let d = Context.length cD - Context.length cD_d in
1575 |          let (tA, cPhi) =
...
1604 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1605 |            | _ ->
1606 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1607 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d,
Decl
  {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13:
1808 | ..........begin match S.LF.bvarSub k s'' with
1809 |           | Int.LF.Head (Int.LF.BVar j) ->
1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
1811 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
1812 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit)
1813 |           end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
  FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10:
1806 | .......begin match h with
1807 |        | Int.LF.BVar k ->
1808 |           begin match S.LF.bvarSub k s'' with
1809 |           | Int.LF.Head (Int.LF.BVar j) ->
1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
...
1814 |        | Int.LF.PVar (p, r) ->
1815 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit)
1816 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
1817 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8:
1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
1858 |        try
1859 |          Context.ctxSigmaDec cPsi x
1860 |        with
1861 |        | _ ->
...
1876 |        with
1877 |        | Unify.Failure msg ->
1878 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1879 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8:
1882 | .....begin
1883 |        match Whnf.mctxPDec cD p with
1884 |        | (_, Int.LF.Sigma recA, cPsi') ->
1885 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
1886 |           let k = getProjIndex loc cD cPsi recA proj in
...
1907 |           end
1908 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
1909 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
1910 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, TClo _, _)

File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15:
1941 | ............begin match S.LF.bvarSub y s'' with
1942 |             | Int.LF.Head (Int.LF.BVar x) ->
1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
1944 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
1945 |                Int.LF.Root
...
1948 |                  , tS
1949 |                  , Plicity.explicit
1950 |                  )
1951 |             end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
  FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12:
1939 | .........begin match h with
1940 |          | Int.LF.BVar y ->
1941 |             begin match S.LF.bvarSub y s'' with
1942 |             | Int.LF.Head (Int.LF.BVar x) ->
1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
...
1956 |               , tS
1957 |               , Plicity.explicit
1958 |               )
1959 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25:
1044 | ..match r with
1045 |   | Apx.LF.Ann (_loc, m, a) ->
1046 |      elTerm' recT cD cPsi m sP
1047 | 
1048 |   | Apx.LF.LFHole (location, m_name) ->
...
1977 | 
1978 |   | Apx.LF.Root (loc, h, _) ->
1979 |      dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h));
1980 |      throw loc CompTypAnn
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|Tuple (_, _))

File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65:
2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
2103 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
2104 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82:
2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
2160 |      let k = getProjIndex loc cD cPsi recA proj in
2161 |      let sA =
2162 |        try
2163 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k
...
2166 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
2167 |      in
2168 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
2169 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14:
2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) =
2277 |              Store.FCVar.get s_name
2278 |            in
2279 |            svar_le (cl0, cl);
2280 |            let d = Context.length cD - Context.length cD_d in
...
2307 |              with
2308 |              | Unify.Failure msg ->
2309 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
2310 |            end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })

File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40:
2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
2515 |          dprint (fun () -> "[elHead] done");
2516 |          (Int.LF.BVar x, (tA', S.LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59:
2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
2575 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
2576 |          (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(offset, ClTyp ((PTyp _|STyp (_, _)), _))

File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41:
2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
2584 |      let s' = elSub loc recT cD cPsi s cl cPhi in
2585 |      (Int.LF.PVar (offset, s'), (tA, s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(offset, ClTyp ((MTyp _|STyp (_, _)), _))

File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36:
2643 | ....match (sA, recT) with
2644 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) ->
2645 |        (* cPsi' |- tA <= typ
2646 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
2647 |         *
...
2671 |        in
2672 | 
2673 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
2674 |        (Int.LF.App (tN, spine'), sP)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((PiTyp ((TypDeclOpt _, _, _), _), _), _)

File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25:
2705 | ....function
2706 |     | Int.LF.Atom _ -> 0
2707 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
2708 |     | Int.LF.Sigma _ -> 0........................................................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32:
2725 | ....match (spine, Whnf.whnfTyp sA) with
2726 |     | (Apx.LF.Nil, sP) ->
2727 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
2728 | 
2729 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) ->
2730 |        let tM = elTerm recT cD cPsi m (tA, s) in
2731 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
2732 |        (Int.LF.App (tM, tS), sP)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _))

File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30:
2741 | ....match (sK, recT) with
2742 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) ->
2743 |        (* let sshift = mkShift recT cPsi in *)
2744 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
2745 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
...
2757 |            Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive
2758 |        in
2759 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
2760 |        Int.LF.App (tN, spine')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((PiKind ((TypDeclOpt _, _, _), _), _), _)

File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32:
2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
2835 |      (* cPsi |- tA : type
2836 |       * cPsi |- s' : cPsi'
2837 |       *)
2838 |      let ss = S.LF.invert s' in
...
2860 |      in
2861 | 
2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
2863 |      (Int.LF.App (tN', tS), tB')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32:
2824 | ..match (spine, sP) with
2825 |   | (Apx.LF.Nil, _) ->
2826 |      let ss = S.LF.invert s' in
2827 |      let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
2828 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
...
2860 |      in
2861 | 
2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
2863 |      (Int.LF.App (tN', tS), tB')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(App (Root (loc, BVar x, App (_, _)), _), _)

File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8:
2943 | .....begin match instantiation.contents with
2944 |      | None ->
2945 |         begin
2946 |           try
2947 |             let tA = Store.FVar.get x in
...
2995 |           | _ ->
2996 |              throw loc (UnboundName x)
2997 |         end
2998 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (IHead _|ISub _|ICtx _)

File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8:
2939 | ..function
2940 |   | [] -> ()
2941 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
2942 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
2943 |      begin match instantiation.contents with
...
2995 |           | _ ->
2996 |              throw loc (UnboundName x)
2997 |         end
2998 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Root (loc, FVar x, spine),
Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::
_

File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99:
3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
3021 |          lookup_fcvar loc u
3022 |        in
3023 |        let cPhi = weakenAppropriately cD_d cPhi in
3024 |        let s'' = elSub loc cPsi s cPhi in
3025 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98:
3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) =
3028 |          lookup_fcvar loc x
3029 |        in
3030 |        let cPhi = weakenAppropriately cD_d cPhi in
3031 |        let s'' = elSub loc cPsi s cPhi in
3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98:
3017 | ....match tM, Int.LF.(v.typ) with
3018 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
3019 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
3020 |        let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
3021 |          lookup_fcvar loc u
...
3030 |        let cPhi = weakenAppropriately cD_d cPhi in
3031 |        let s'' = elSub loc cPsi s cPhi in
3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Total.cmo -c -impl src/core/total.ml)
File "src/core/total.ml", lines 31-45, characters 6-9:
31 | ......begin match (x, args) with
32 |       | (_, []) ->
33 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
34 |       | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) ->
35 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@"
...
42 | 
43 |       | (Comp.V _, _) ->
44 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration."
45 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(M (_, _), (E|DC)::_)

File "src/core/total.ml", lines 138-141, characters 2-56:
138 | ..function
139 |   | LF.Empty -> LF.Empty
140 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
141 |      LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/total.ml", lines 155-157, characters 2-40:
155 | ..function
156 |   | None -> " _ "
157 |   | Some (Comp.Arg x) -> string_of_int x
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (Lex _|Simul _)

File "src/core/total.ml", line 249, characters 25-43:
249 |        let xs = List.map (fun (Arg x) -> x) xs in
                               ^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lex _|Simul _)

File "src/core/total.ml", lines 245-258, characters 4-41:
245 | ....match dec.order with
246 |     | `inductive (Arg x) ->
247 |        (dec.name, Some [x], (tau, Whnf.m_id))
248 |     | `inductive (Lex xs) ->
249 |        let xs = List.map (fun (Arg x) -> x) xs in
...
255 |     | `not_recursive
256 |       | `trust
257 |       | `partial ->
258 |        (dec.name, None, (tau, Whnf.m_id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
`inductive (Simul _)

File "src/core/total.ml", lines 331-332, characters 19-32:
331 | ...................(LF.Decl { name = x; typ = cU; _ }) =
332 |   (gen_var' loc cD (x, cU) , cU)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/total.ml", lines 404-413, characters 2-31:
404 | ..function
405 |   | [] -> []
406 |   | Comp.M (cM, cU) :: args ->
407 |      if uninstantiated_arg cM
408 |      then Comp.DC :: generalize args
409 |      else Comp.M (cM, cU) :: generalize args
410 |   | Comp.V x :: args ->
411 |      Comp.V x :: generalize args
412 |   | Comp.DC :: args ->
413 |      Comp.DC :: generalize args
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
E::_

File "src/core/total.ml", lines 445-455, characters 19-34:
445 | ...................(1, n) (LF.SchElem (some_part, block_part))  =
446 |     let sArec =
447 |     match Whnf.whnfTyp (tA, Substitution.LF.id) with
448 |     | (LF.Sigma tArec, s') -> (tArec, s')
449 |     | (tA', s') -> (LF.SigmaLast (None, tA'), s') in
...
452 |     try
453 |       Unify.unifyTypRec cD cPsi (block_part, dctxSub) sArec;
454 |       Some (b, tA)
455 |     with Unify.Failure _  ->  None..................................................................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(0, _)

File "src/core/total.ml", lines 509-511, characters 6-47:
509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in
510 |       (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id);
511 |        gen_meta_obj (k, Substitution.LF.id) cU)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/total.ml", lines 544-592, characters 2-30:
544 | ..function
545 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
546 |   | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) ->
547 |      let cU0 = Whnf.cnormMTyp (cU', theta) in
548 |          begin
...
589 | 
590 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
591 |      let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in
592 |      (Comp.DC :: spine, tau_r)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(2,
((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
 TypCross (_, _)|TypClo (_, _)|TypInd _),
_))

File "src/core/total.ml", lines 595-619, characters 2-30:
595 | ..function
596 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
597 | 
598 |   | (1, (Comp.TypPiBox _, _)) ->
599 |      raise Not_compatible (* Error *)
...
616 | 
617 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
618 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
619 |      (Comp.DC :: spine, tau_r)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1,
((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
 TypCross (_, _)|TypClo (_, _)|TypInd _),
_))

File "src/core/total.ml", lines 622-713, characters 2-43:
622 | ..match cD' with
623 |   | LF.Empty -> cIH
624 | 
625 |   | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) ->
626 |      dprintf
...
710 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j);
711 |      let cIH' = mk_all (cIH, j) mf_list in
712 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1));
713 |      gen_rec_calls cD cIH' (cD', j + 1) mfs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/total.ml", lines 725-791, characters 2-47:
725 | ..match cG0 with
726 |   | LF.Empty -> cIH
727 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
728 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
729 | 
...
788 |           mk_all cIH' mf_list
789 |      in
790 |      let cIH' = mk_all cIH mf_list in
791 |      gen_rec_calls' cD cG cIH' (cG', j + 1) mfs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, CTypDeclOpt _)

File "src/core/total.ml", lines 860-868, characters 2-69:
860 | ..match cPsi with
861 |   (* cPsi |- tA *)
862 |   | LF.Null -> None
863 |   | LF.CtxVar _ -> None
864 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
865 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
866 |      then Some k
867 |      else
868 |        pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/total.ml", lines 1087-1111, characters 5-8:
1087 | .....begin
1088 |        match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) ,
1089 |                prefix_hat
1090 |                (Whnf.cnorm_psihat phat Whnf.m_id)
1091 |                (Whnf.cnorm_psihat phat' Whnf.m_id)
...
1108 |               end ;
1109 |             (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k))))  , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k)
1110 |             end
1111 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Some k', None)

File "src/core/total.ml", lines 1121-1124, characters 5-87:
1121 | .....let LF.Root (_, tH', _, _) =
1122 |        Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj)
1123 |      in
1124 |      (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/total.ml", lines 1134-1140, characters 2-65:
1134 | ..match args with
1135 |   | [] -> []
1136 |   | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi)
1137 |   | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi)
1138 |   | Comp.M (cM, cU )  :: args ->
1139 |      let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in
1140 |      Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
E::_

File "src/core/total.ml", lines 1316-1337, characters 2-40:
1316 | ..function
1317 |   | Comp.TypBase (loc, c, _) ->
1318 |      Bool.not (Id.cid_comp_typ_equal a c)
1319 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
1320 |         | Sgn.Positivity -> true
...
1334 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
1335 |   | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus
1336 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
1337 |   | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1340-1360, characters 2-40:
1340 | ..function
1341 |   | Comp.TypBase (loc, c, _) ->
1342 |      Id.cid_comp_typ_equal a c
1343 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
1344 |         | Sgn.Positivity -> true
...
1357 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
1358 |   | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus
1359 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
1360 |   | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1364-1372, characters 2-40:
1364 | ..function
1365 |   | Comp.TypBase _ -> true
1366 |   | Comp.TypCobase _ -> true
1367 |   | Comp.TypDef _ -> raise Unimplemented
1368 |   | Comp.TypBox _ -> true
1369 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
1370 |   | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus
1371 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
1372 |   | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1492-1531, characters 2-27:
1492 | ..match tau1 with
1493 |   | Comp.TypBase (loc, c, mS1) ->
1494 |      if Id.cid_comp_typ_equal a c
1495 |      then
1496 |        begin
...
1528 |   | Comp.TypBox _
1529 |     | Comp.TypClo _
1530 |     | Comp.TypCobase _
1531 |     | Comp.TypDef _ -> true
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1555-1580, characters 8-48:
1555 | ........function
1556 |         | Comp.TypBase _
1557 |           | Comp.TypCobase _
1558 |           | Comp.TypBox _ -> true
1559 | 
...
1577 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
1578 | 
1579 |         | Comp.TypDef _
1580 |           | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Check.cmo -c -impl src/core/check.ml)
File "src/core/check.ml", lines 471-475, characters 4-46:
471 | ....function
472 |     | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS
473 |     | I.Lam (_, _, tM) -> fmv_normal cD tM
474 |     | I.LFHole _ -> cD
475 |     | I.Tuple (_, tuple) -> fmv_tuple cD tuple
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Clo _

File "src/core/check.ml", lines 490-492, characters 4-55:
490 | ....function
491 |     | I.Nil -> cD
492 |     | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
SClo _

File "src/core/check.ml", lines 500-503, characters 4-61:
500 | ....function
501 |     | I.Null -> cD
502 |     | I.CtxVar (I.CtxOffset k) -> mark_ind cD k
503 |     | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/check.ml", lines 511-514, characters 4-38:
511 | ....function
512 |     | I.Atom (_, _, tS) -> fmv_spine cD tS
513 |     | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA
514 |     | I.Sigma trec -> fmv_trec cD trec
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/check.ml", lines 534-538, characters 4-68:
534 | ....function
535 |     | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi
536 |     | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM
537 |     | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h
538 |     | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, (MUndef|MV _))

File "src/core/check.ml", lines 553-556, characters 4-43:
553 | ....function
554 |     | PatNil -> cD
555 |     | PatApp (_, pat, pat_spine) ->
556 |        fmv_pat_spine (fmv cD pat) pat_spine
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)

File "src/core/check.ml", lines 561-595, characters 4-10:
561 | ....match (t, cD) with
562 |     | (I.MShift k, I.Empty) -> cD1'
563 |     | (I.MShift k, cD)
564 |          when k < 0 ->
565 |        Error.raise_violation "Contextual substitution ill-formed"
...
592 |           else
593 |             id_map_ind cD1' ms cD
594 |        | _ -> id_map_ind cD1' ms cD
595 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MDot (_, _), Dec (cD, DeclOpt _))

File "src/core/check.ml", lines 618-619, characters 7-23:
618 | .......fun (CTypDecl (u, tau, wf_tag)) ->
619 |        (u, tau, wf_tag)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/check.ml", lines 747-771, characters 6-12:
747 | ......match cPsi0 with
748 |       | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *)
749 |       | Int.LF.CtxVar psi ->
750 |          (* tA is an instance of a schema block *)
751 |          let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } =
...
768 |              Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id)
769 |            with
770 |            | _ -> checkParamTypeValid' (cPsi0', n + 1)
771 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi0', TypDeclOpt _)

File "src/core/check.ml", lines 776-796, characters 4-68:
776 | ....match (mS, cKt) with
777 |     | (MetaNil, (Ctype _, _)) -> ()
778 |     | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) ->
779 |        if Plicity.(plicity_app <> plicity_pi)
780 |        then Error.raise_violation "[checkMetaSpine] plicity mismatch";
...
793 |                  Location.print_short loc
794 |               )
795 |        end;
796 |        checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaNil, (PiKind (_, _, _), _))

File "src/core/check.ml", lines 822-824, characters 20-32:
822 | ....................(I.Decl { name = x; typ = ctyp; _ }) =
823 |     let location = Name.location x in
824 |     checkCLFTyp location cD ctyp
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/check.ml", lines 834-868, characters 4-35:
834 | ....function
835 |     | TypBase (loc, c, mS) ->
836 |        let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in
837 |        checkMetaSpine loc cD mS (cK, C.m_id)
838 | 
...
865 |          end;
866 |        checkTyp (I.Dec (cD, cdecl)) tau'
867 | 
868 |     | TypInd tau -> checkTyp cD tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _)|TypClo (_, _))

File "src/core/check.ml", lines 880-882, characters 21-54:
880 | .....................(x, (I.Decl d), t) =
881 |     let typ' = C.cnormMTyp (d.typ, t) in
882 |     I.Dec (cD, I.Decl { d with name = x; typ = typ' })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(x, DeclOpt _, _)

File "src/core/check.ml", lines 899-916, characters 12-15:
899 | ............begin match e2 with
900 |             | Box (_, cM, cU) | AnnBox (_, cM, cU) ->
901 |                dprintf
902 |                  begin fun p ->
903 |                  p.fmt "[useIH] @[<v>check whether compatible IH exists@,\
...
913 |                | Option.None -> Total.filter cD cG cIH (loc, E)
914 |                end
915 |             | Hole _ -> Total.drop_arg cIH
916 |             end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)|
Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _))

File "src/core/check.ml", lines 1114-1276, characters 4-45:
1114 | ....function
1115 |     | Var (loc, x) as e ->
1116 |        let (f,tau', _) = lookup cG x in
1117 |        Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id))
1118 |          (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e);
...
1273 | 
1274 |     | AnnBox (_, cM, cT) ->
1275 |        checkMetaObj cD cM cT C.m_id;
1276 |        (None, TypBox (getLoc cM, cT), C.m_id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)|
Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _))

File "src/core/check.ml", lines 1350-1357, characters 7-10:
1350 | .......begin match (tau, theta) with
1351 |        | (TypArr (_, tau1, tau2), theta) ->
1352 |           checkPattern cD cG pat (tau1, theta);
1353 |           synPatSpine cD cG pat_spine (tau2, theta)
1354 |        | (TypPiBox (_, cdecl, tau), theta) ->
1355 |           let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in
1356 |           synPatSpine cD cG pat_spine (tau, theta')
1357 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
 TypCross (_, _)|TypClo (_, _)|TypInd _),
_)

File "src/core/check.ml", lines 1373-1375, characters 53-38:
1373 | .....................................................(I.Decl { typ = ctyp; _ }, theta) =
1374 |     LF.checkMetaObj cD mO (ctyp, theta);
1375 |     I.MDot (metaObjToMFront mO, theta)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(DeclOpt _, _)

File "src/core/check.ml", lines 1373-1375, characters 30-38:
1373 | ..............................(PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
1374 |     LF.checkMetaObj cD mO (ctyp, theta);
1375 |     I.MDot (metaObjToMFront mO, theta)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/check.ml", lines 1665-1667, characters 4-42:
1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in
1666 |     let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in
1667 |     proof mcid cD cG cIH total_decs p ttau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
{cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}

File "src/core/check.ml", lines 1678-1743, characters 4-13:
1678 | ....match d with
1679 |     | Intros hyp ->
1680 |        let tau = Whnf.cnormCTyp ttau in
1681 |        let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in
1682 |        dprintf
...
1740 |            end;
1741 |          proof mcid cD cG cIH total_decs p (tau, Whnf.m_id)
1742 |          end
1743 |          args
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ImpossibleSplit _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Reconstruct.cmo -c -impl src/core/reconstruct.ml)
File "src/core/reconstruct.ml", lines 55-179, characters 20-41:
 55 | ....................function
 56 |   | NotImplemented f ->
 57 |       Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]"
 58 |         f ()
 59 |   | MCtxIllformed cD ->
...
176 |         @,  @[%a@]\
177 |         @]"
178 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC_p
179 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
IllegalSubstMatch

File "src/core/reconstruct.ml", lines 217-218, characters 2-45:
217 | ..function
218 |   | Int.LF.Decl d -> Name.mk_some_name d.name
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/reconstruct.ml", lines 258-267, characters 4-26:
258 | ....match tau, n with
259 |     | _, 0 -> 0
260 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n ->
261 |       Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__)
262 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n ->
263 |       1 + skip tau n (* implicits are free *)
264 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n ->
265 |       1 + skip tau (n - 1) (* explicits pi-types cost 1 *)
266 |     | I.TypArr (_, _, tau), n ->
267 |       1 + skip tau (n - 1)..............................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypPiBox (_, DeclOpt _, _), 1)

File "src/core/reconstruct.ml", lines 292-298, characters 9-92:
292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in
293 |          if Id.cid_schema_equal s_cid s_cid'
294 |          then Int.LF.CtxVar (Int.LF.CtxName psi)
295 |          else
296 |            let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in
297 |            let c_var' = Int.LF.CtxName psi in
298 |            Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=CTyp None; _ })

File "src/core/reconstruct.ml", lines 343-361, characters 7-10:
343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in
344 |        begin
345 |          let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in
346 |          Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi);
347 |          match Context.ctxVar cPsi with
...
358 |                   }
359 |               )
360 |          | _ -> ()
361 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp None

File "src/core/reconstruct.ml", lines 396-400, characters 2-23:
396 | ..match cG, k with
397 |   | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 ->
398 |      Whnf.cnormCTyp (tau, Whnf.m_id)
399 |   | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k ->
400 |      lookup cG' (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dec (cG', CTypDeclOpt _), _)

File "src/core/reconstruct.ml", lines 410-416, characters 2-32:
410 | ..function
411 |   | Apx.LF.Empty -> Int.LF.Empty
412 |   | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) ->
413 |      let ctx' = elTypDeclCtx cD ctx in
414 |      let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in
415 |      let typDecl' = Int.LF.TypDecl (name, tA) in
416 |      Int.LF.Dec (ctx', typDecl')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (ctx, TypDeclOpt _)

File "src/core/reconstruct.ml", lines 459-466, characters 20-5:
459 | ....................(Apx.LF.Decl (u, ctyp, plicity)) =
460 |   let ctyp' = elCTyp recT cD ctyp in
461 |   Int.LF.Decl
462 |     { name = u
463 |     ; typ = ctyp'
464 |     ; plicity
465 |     ; inductivity = Inductivity.not_inductive
466 |     }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/reconstruct.ml", lines 519-557, characters 4-26:
519 | ....function
520 |     | (Int.LF.Typ, _s) ->
521 |        Int.LF.Nil
522 | 
523 |     | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) ->
...
554 |            (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s))
555 |          end;
556 |        let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in
557 |        Int.LF.App (tR, tS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/reconstruct.ml", lines 563-575, characters 2-8:
563 | ..function
564 |   | Int.LF.Atom (_, a, _) ->
565 |      mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind
566 | 
567 |   | Int.LF.Sigma trec ->
...
572 |      Int.LF.PiTyp
573 |        ( (tdecl', depend, plicity)
574 |        , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA
575 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/reconstruct.ml", lines 578-580, characters 2-41:
578 | ..function
579 |   | Int.LF.TypDecl (x, tA) ->
580 |      Int.LF.TypDecl (x, mgTyp cD cPsi tA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/reconstruct.ml", lines 637-640, characters 5-18:
637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
638 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
639 |      in
640 |      Int.LF.PObj h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Root (_, h, (App (_, _)|SClo (_, _)), _)

File "src/core/reconstruct.ml", lines 647-650, characters 5-18:
647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
648 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
649 |      in
650 |      Int.LF.PObj h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Root (_, h, (App (_, _)|SClo (_, _)), _)

File "src/core/reconstruct.ml", lines 711-727, characters 2-104:
711 | ..match (s, cKt) with
712 |   | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) ->
713 |      Int.Comp.MetaNil
714 | 
715 |   | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) ->
...
724 | 
725 |   | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) ->
726 |      let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in
727 |      Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaApp (_, _), (PiKind (_, DeclOpt _, _), _))

File "src/core/reconstruct.ml", lines 798-803, characters 4-65:
798 | ....function
799 |     | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil
800 |     | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) ->
801 |        let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in
802 |        let mS = genMetaSpine (cK, t') in
803 |        Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind (loc', DeclOpt _, _), _)

File "src/core/reconstruct.ml", lines 830-842, characters 2-49:
830 | ..match cPsi with
831 |   | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) ->
832 |      let (n, sW) = Whnf.mctxCDec cD psi_var in
833 |      let v =
834 |        let open Int.LF in
...
839 |   | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) ->
840 |      let cPsi' = mgCtx cD' (cD, cPsi) in
841 |      let tA' = mgTyp cD' cPsi' tA in
842 |      Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/reconstruct.ml", lines 921-939, characters 7-54:
921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in
922 |        dprintf
923 |          begin fun p ->
924 |          p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\
925 |                 @,mC    = @[%a@]\
...
936 |            (mT, Whnf.m_id)
937 |        with
938 |        | Unify.Failure msg ->
939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)

File "src/core/reconstruct.ml", lines 916-939, characters 4-54:
916 | ....match caseT with
917 |     | DataObj -> () (* not dependent pattern matching; nothing to do *)
918 |     | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) ->
919 |        let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in
920 |        (* tau_p' _has_ to be a box type if caseT is an IndexObj  *)
...
936 |            (mT, Whnf.m_id)
937 |        with
938 |        | Unify.Failure msg ->
939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
IndexObj
  (PatAnn
     (_,
     (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)|
     PatAnn (_, _, _, _)), _, _),
  _)

File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22:
1369 | .......match id with
1370 |        | None -> true
1371 |        | Some Apx.LF.Id -> true
1372 |        | Some Apx.LF.EmptySub ->
1373 |           let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in
1374 |           match cPhi, cPsi with
1375 |           | Int.LF.Null, Int.LF.Null -> true
1376 |           | _ -> false
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (Dot (_, _)|SVar (_, _)|FSVar (_, _))

File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9:
1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in
1394 |       let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in
1395 |       let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in
1396 |       let s0' = Substitution.LF.comp s0 s' in
1397 |       begin match s0' with
...
1413 |          else
1414 |            throw loc IllegalSubstMatch
1415 |       | _ -> throw loc IllegalSubstMatch
1416 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _))

File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8:
1421 | .....begin
1422 |        match cpsi with
1423 |        | Apx.LF.CtxVar (ctxvar) ->
1424 |           let c_var = Lfrecon.elCtxVar ctxvar in
1425 |           let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in
...
1439 |                  end
1440 |                |> throw loc
1441 |           end
1442 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Null|CtxHole|DDec (_, _))

File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6:
1194 | ..match i with
1195 |   | Apx.Comp.Var (loc, offset) ->
1196 |      let tau = lookup cG offset in
1197 |      dprintf
1198 |        begin fun p ->
...
1455 |      , ( Int.Comp.TypCross (loc, ttaus')
1456 |        , C.m_id
1457 |        )
1458 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Box
  (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))

File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8:
1524 | ..match (pat, ttau) with
1525 |   | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) ->
1526 |      let tau' = Whnf.cnormCTyp (tau, theta) in
1527 |      dprintf
1528 |        begin fun p ->
...
1597 |        | Unify.Failure msg ->
1598 |           dprint (fun () -> "Unify Error: " ^ msg);
1599 |           raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau')))
1600 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatFVar (_, _), _)

File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57:
1603 | ..function
1604 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
1605 |      let tau' = elCompTyp cD tau in
1606 |      let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in
1607 |      (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id))
...
1610 |      let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in
1611 |      dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c));
1612 |      let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in
1613 |      (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _))

File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8:
1690 | .....begin match ttau with
1691 |      | (Int.Comp.TypCobase (_, _, _), _) ->
1692 |         let { Store.Cid.CompDest.Entry.name
1693 |             ; mctx = cD'
1694 |             ; obs_type = tau0
...
1730 |         let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in
1731 |         (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2)
1732 |      (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *)
1733 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _)

File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68:
1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in
1750 |      let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in
1751 |      let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in
1752 |      let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in
1753 |      let ttau' = (tau', Whnf.m_id) in
1754 |      let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in
1755 |      (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *)
1756 |      (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _))

File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13:
1784 | ..........begin match mT with
1785 |           | Int.LF.(MTyp (Atom _ | Sigma _ as tA))->
1786 |              let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in
1787 |              let tP' = mgTyp cD cPsi' tA in
1788 |              (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi'))
...
1798 |                 fixParamTyp in check.ml, and it is only used for
1799 |                 coverage checking. *)
1800 |              Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible"
1801 |           end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MTyp (TClo _)

File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5:
2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' =
2085 |     elHypotheses h
2086 |   in
2087 |   dprintf
2088 |     begin fun p ->
...
2103 |     ( loc
2104 |     , h'
2105 |     , elProof cD cG label p ttau
2106 |     )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
{cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}

File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29:
2288 | ...........match k, tA' with
2289 |            | Some k, Int.LF.Sigma tRec ->
2290 |               (* Compute the type of the kth projection of tRec. *)
2291 |               Int.LF.getType h (tRec, LF.id) k
2292 |               |> Whnf.normTyp
...
2298 |                  A projected case #n.k is required.
2299 |                *)
2300 |               assert false
2301 |            | None, tA' -> tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _))

File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56:
2339 | .......let Int.LF.MTyp tP = cU in
2340 |        let (cD', (cPsi', tR_p, tA_p), t) =
2341 |          match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with
2342 |          | None -> assert false
2343 |          (* FIXME: throw an appropriate error
...
2417 |          cD_b |- [t o t']tau <= type
2418 |         *)
2419 |        in
2420 |        I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PTyp _|STyp (_, _))

File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57:
2428 | .......let Int.LF.MTyp tA = cU in
2429 |        let (cD', (cPsi', tM, sA), t) =
2430 |          match Coverage.genBVar (cD, cPsi, tA) 1 with
2431 |          | [x] -> x
2432 |          | _ ->
...
2460 |        let l' = `bvar in
2461 |        let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in
2462 |        let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in
2463 |        I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PTyp _|STyp (_, _))

File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44:
2545 | .....let Some w = w in
2546 |      let ctx_branches = List.map (make_ctx_branch w) bs in
2547 |      I.ContextSplit (i, tau_i, ctx_branches)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17:
2562 | .....let (cD', cG', Int.LF.Empty, tau', _) =
2563 |        Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau)
2564 |      in
2565 |      let hyp =
2566 |        elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id)
2567 |      in
2568 |      I.Intros hyp
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', cG', Dec (_, WfRec (_, _, _)), _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Translate.cmo -c -impl src/harpoon/translate.ml)
File "src/harpoon/translate.ml", lines 25-26, characters 5-58:
25 | .....let LF.Dec (cG', Comp.CTypDecl (x, _, _)) = cG' in
26 |      (cD', cG', fun e -> Comp.Fn (Location.ghost, x, f e))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG', CTypDeclOpt _)

File "src/harpoon/translate.ml", lines 29-33, characters 5-6:
29 | .....let LF.Dec (cD', LF.Decl { name = x; plicity; _ }) = cD' in
30 |      ( cD'
31 |      , cG'
32 |      , fun e -> Comp.MLam (Location.ghost, x, f e, plicity)
33 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/harpoon/translate.ml", lines 56-68, characters 10-40:
56 | ..........match cU with
57 |           | (ClTyp ( (MTyp _ | PTyp _), cPsi )) ->
58 |              let tM =
59 |                Root
60 |                  ( Location.ghost
...
65 |              in
66 |              ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, t)), MObj tM)
67 |           | CTyp _ ->
68 |              CObj (CtxVar (CtxOffset 1))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/harpoon/translate.ml", lines 131-149, characters 5-8:
131 | .....let (cD', cG', LF.Empty, tau', t) =
132 |        Check.Comp.unroll cD cG LF.Empty tau
133 |      in
134 |      (* cD' |- t : cD
135 |         is a weakening meta-substitution *)
...
146 |          P.(fmt_ppr_cmp_gctx cD_orig l0) cG_orig
147 |          end;
148 |      assert (Whnf.convMCtx cD_orig cD && Whnf.convGCtx (cG_orig, Whnf.m_id) (cG, t));
149 |      f e
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', cG', Dec (_, WfRec (_, _, _)), _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Coverage.cmo -c -impl src/core/coverage.ml)
File "src/core/coverage.ml", line 76, characters 21-63:
76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/coverage.ml", lines 75-78, characters 2-5:
75 | ..let Some (CTypDecl (_, tau, _)) =
76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
77 |   in
78 |   tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (CTypDeclOpt _)

File "src/core/coverage.ml", lines 195-210, characters 20-37:
195 | ....................(LF.Atom (_, a, _) as tP) =
196 |   let (cPhi, lazy s_proj, lazy s_tup) = ConvSigma.gen_flattening cD cPsi in
197 |   (* cPsi |- s_proj          : cPhi
198 |      cPhi |- s_tup           : cPsi
199 |      cPhi |- tQ                       where cPsi |- tP !! tQ = [s_tup]tP !! *)
...
207 |      cPsi  |- s_proj          : cPhi
208 |      cPsi  |- comp ss' s_proj : cPhi' *)
209 |   let ss_proj = S.LF.comp ss' s_proj in
210 |   (ss_proj, (cPhi', LF.tclo tQ ssi'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))

File "src/core/coverage.ml", lines 214-218, characters 4-74:
214 | ....match tA with
215 |     | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit)
216 |     | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) ->
217 |        let tM = eta (tB0, s) LF.Nil in
218 |        LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/coverage.ml", lines 271-281, characters 4-58:
271 | ....function
272 |     | MetaSub (cPsi, s, LF.STyp (_, cPhi)) ->
273 |        fprintf ppf "%a |- %a : %a"
274 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
275 |          (P.fmt_ppr_lf_sub cD cPsi P.l0) s
...
278 |        fprintf ppf "%a |- %a : %a"
279 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
280 |          (P.fmt_ppr_lf_normal cD cPsi P.l0) tR
281 |          (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MetaSub (cPsi, s, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 304-308, characters 4-73:
304 | ....function
305 |     | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi
306 |     | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi)
307 |     | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA)
308 |     | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CovSub (cPsi, s, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 483-484, characters 7-73:
483 | .......let Comp.TypBox (_, mT) = tau_sc in
484 |        check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)

File "src/core/coverage.ml", lines 545-546, characters 9-44:
545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 543-547, characters 7-10:
543 | .......begin
544 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
545 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
547 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 580-619, characters 5-8:
580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in
581 |      dprintf
582 |        begin fun p ->
583 |        p.fmt "[pre_match_head]  @[<v>pvar - case\
584 |               @,pattern:     @[@[%a@]@ |- @[%a@]@]\
...
616 |             end;
617 |           SplitCand
618 |             (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *)
619 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(BVar _|Const _|MMVar (({instantiation=_; constraints=_; _ }, _), _)|
MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)|
FPVar (_, _)|HClo (_, _, _)|
HMClo (_, (({instantiation=_; constraints=_; _ }, _), _)))

File "src/core/coverage.ml", lines 638-639, characters 9-44:
638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 636-640, characters 7-10:
636 | .......begin
637 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
638 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
640 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 695-708, characters 5-59:
695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
696 |      let covGoal' =
697 |        CovGoal
698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
699 |          , tM, (tB, S.LF.dot1 s)
...
705 |          , tN, (tB', S.LF.dot1 s')
706 |          )
707 |      in
708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Atom (_, _, _)|Sigma _|TClo (_, _)), _)

File "src/core/coverage.ml", lines 694-708, characters 5-59:
694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
696 |      let covGoal' =
697 |        CovGoal
698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
...
705 |          , tN, (tB', S.LF.dot1 s')
706 |          )
707 |      in
708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Atom (_, _, _)|Sigma _|TClo (_, _)), _)

File "src/core/coverage.ml", lines 692-737, characters 2-8:
692 | ..match (tM, tN) with
693 |   | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) ->
694 |      let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
696 |      let covGoal' =
...
734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
735 | 
736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
737 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))

File "src/core/coverage.ml", lines 684-737, characters 2-8:
684 | ..let MetaPatt (cPhi, tN, sA') = patt in
685 |   dprintf
686 |     begin fun p ->
687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
688 |            @,pattern: @[%a@]@]"
...
734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
735 | 
736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
737 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaSub (_, _, _)|GenPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 683-737, characters 2-8:
683 | ..let CovGoal (cPsi, tM, sA) = covGoal in
684 |   let MetaPatt (cPhi, tN, sA') = patt in
685 |   dprintf
686 |     begin fun p ->
687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
...
734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
735 | 
736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
737 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 744-758, characters 5-18:
744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
748 |      let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in
...
755 |        (cPsi, tS, sB2')
756 |        (cPsi', tS', sC2')
757 |        matchCands'
758 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 743-758, characters 5-18:
743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
...
755 |        (cPsi, tS, sB2')
756 |        (cPsi', tS', sC2')
757 |        matchCands'
758 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 740-758, characters 2-18:
740 | ..match (tS, tS') with
741 |   | (LF.Nil, LF.Nil) -> (matchCands, splitCands)
742 |   | (LF.App (tM, tS), LF.App (tM', tS')) ->
743 |      let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
...
755 |        (cPsi, tS, sB2')
756 |        (cPsi', tS', sC2')
757 |        matchCands'
758 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Nil, (App (_, _)|SClo _))

File "src/core/coverage.ml", lines 793-797, characters 5-63:
793 | .....let LF.TypDecl (_, tA1) = tdecl1 in
794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 792-797, characters 5-63:
792 | .....let LF.TypDecl (_, tA0) = tdecl0 in
793 |      let LF.TypDecl (_, tA1) = tdecl1 in
794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 763-816, characters 2-74:
763 | ..match ((s0, cPhi0), (s1, cPhi1)) with
764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
766 |      if n = k
767 |      then (matchCands, splitCands)
...
813 | 
814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
815 | 
816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Shift _, _),
(Dot
   (Head
      (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|
      FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
   _),
_))

File "src/core/coverage.ml", lines 762-816, characters 2-74:
762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
763 |   match ((s0, cPhi0), (s1, cPhi1)) with
764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
766 |      if n = k
...
813 | 
814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
815 | 
816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MetaSub (cPsi1, s1, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 761-816, characters 2-74:
761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in
762 |   let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
763 |   match ((s0, cPhi0), (s1, cPhi1)) with
764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
...
813 | 
814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
815 | 
816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CovSub (cPsi0, s0, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 819-830, characters 2-57:
819 | ..match (f0, f1) with
820 |   | (LF.Head h0, LF.Head h1) ->
821 |      let tM0 = eta_expand (h0, tA0) in
822 |      let tM1 = eta_expand (h1, tA1) in
823 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
...
827 |   | (LF.Obj tM0, LF.Obj tM1) ->
828 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
829 |      let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in
830 |      pre_match cD cD_p covGoal patt matchCands splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Head h0, (Undef|Obj _))

File "src/core/coverage.ml", lines 839-851, characters 5-18:
839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
843 |      let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in
...
848 |        (cPsi, tS, sK1')
849 |        (cPsi', tS', sK2')
850 |        matchCands'
851 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 838-851, characters 5-18:
838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
839 |      let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
...
848 |        (cPsi, tS, sK1')
849 |        (cPsi', tS', sK2')
850 |        matchCands'
851 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 834-851, characters 2-18:
834 | ..match ((tS1, sK1), (tS2, sK2)) with
835 |   | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) ->
836 |      (matchCands, splitCands)
837 |   | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) ->
838 |      let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
...
848 |        (cPsi, tS, sK1')
849 |        (cPsi', tS', sK2')
850 |        matchCands'
851 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Nil, (Typ, _)), (Nil, (PiKind (_, _), _)))

File "src/core/coverage.ml", lines 860-903, characters 2-17:
860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with
861 |   | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) ->
862 |      let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
863 |      let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in
864 |      let tS1' = Whnf.normSpine (tS1, s1) in
...
900 |        (trec1, s1)
901 |        (trec2, s2)
902 |        matchCands
903 |        splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _))

File "src/core/coverage.ml", lines 907-927, characters 2-12:
907 | ..match (srec1, srec2) with
908 |   | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) ->
909 |      pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands
910 | 
911 |   | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) ->
...
924 |        (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1))))
925 |        (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2))))
926 |        (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2)
927 |        mC sC
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _))

File "src/core/coverage.ml", lines 952-1004, characters 2-31:
 952 | ..match ((mO, mt), (mO_p, mtp)) with
 953 |   | LF.((CObj cPsi, _), (CObj cPsi', _)) ->
 954 |      pre_match_dctx cD cD_p cPsi cPsi' mC sC
 955 |   | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) ->
 956 |      match ((clobj, cltyp), (clobj', cltyp')) with
...
1001 |             (mobj cD_p) (loc', mO_p)
1002 |             (mtyp cD_p) mtp
1003 |         in
1004 |         Error.raise_violation s
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _))

File "src/core/coverage.ml", lines 1092-1104, characters 5-10:
1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1095 |      let t2 = LF.MDot (mO, t) in
1096 |      let t2' = LF.MDot (mO', t') in
...
1101 |        (pS, (tau2, t2))
1102 |        (pS', (tau2', t2'))
1103 |        mC1
1104 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1091-1104, characters 5-10:
1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1092 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1095 |      let t2 = LF.MDot (mO, t) in
...
1101 |        (pS, (tau2, t2))
1102 |        (pS', (tau2', t2'))
1103 |        mC1
1104 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1110-1122, characters 5-10:
1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1113 |      let t2 = LF.MDot (mO, t) in
1114 |      let t2' = LF.MDot (mO', t') in
...
1119 |        (pS, (tau2, t2))
1120 |        (pS', (tau2', t2'))
1121 |        mC1
1122 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1109-1122, characters 5-10:
1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1110 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1113 |      let t2 = LF.MDot (mO, t) in
...
1119 |        (pS, (tau2, t2))
1120 |        (pS', (tau2', t2'))
1121 |        mC1
1122 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1128-1134, characters 5-84:
1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1129 |      let tau1 = LF.CTyp w in
1130 |      let tau1' = LF.CTyp w' in
1131 |      let t2 = LF.MDot (mO, t) in
1132 |      let t2' = LF.MDot (mO', t')in
1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1127-1134, characters 5-84:
1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1128 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1129 |      let tau1 = LF.CTyp w in
1130 |      let tau1' = LF.CTyp w' in
1131 |      let t2 = LF.MDot (mO, t) in
1132 |      let t2' = LF.MDot (mO', t')in
1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1139-1147, characters 5-51:
1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
1143 |      let t2 = LF.MDot (mO, t) in
1144 |      let t2' = LF.MDot (mO', t') in
1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
1146 |      match_spines (cD, cG) (cD_p, cG_p)
1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1138-1147, characters 5-51:
1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1139 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
1143 |      let t2 = LF.MDot (mO, t) in
1144 |      let t2' = LF.MDot (mO', t') in
1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
1146 |      match_spines (cD, cG) (cD_p, cG_p)
1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1186-1224, characters 2-8:
1186 | ..match Whnf.whnfTyp sA with
1187 |   | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) ->
1188 |      (* cPsi' |- Pi x:A.B <= typ
1189 |         cPsi  |- s <= cPsi'
1190 |         cPsi  |- tN <= [s]tA
...
1221 |          Some LF.Nil
1222 |        with
1223 |        | U.Failure _ -> None
1224 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 1343-1349, characters 2-29:
1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *)
1344 |   (* We call expand_head_sigma here because it might be *projections*
1345 |      of the bound variable that are relevant to the matching.
1346 |    *)
1347 |   expand_head_sigma (LF.BVar i, tA)
1348 |   |> List.map (fun (tH, tA) -> (tH, tA, 0))
1349 |   |> genAllObj (cD, cPsi, tP)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 1484-1492, characters 7-10:
1484 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) ->
1485 |        let cg' =
1486 |          ( cPsi'
1487 |          , LF.Lam (Location.ghost, x, tM)
1488 |          , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id)
1489 |          )
1490 |        in
1491 |        (cD', cg', ms)
1492 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', ((Null|CtxVar _), _, (_, _)), _)

File "src/core/coverage.ml", lines 1468-1493, characters 2-14:
1468 | ..match tA with
1469 |   | LF.Atom _ ->
1470 |      genPVar cov_problem @ genBVars cov_problem
1471 |   | LF.Sigma trec ->
1472 |      Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types"
...
1490 |        in
1491 |        (cD', cg', ms)
1492 |        end
1493 |        cg_list
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/coverage.ml", lines 1544-1551, characters 7-10:
1544 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
1545 |        ( cD'
1546 |        , ( cPsi'
1547 |          , LF.Lam (Location.ghost, x, tM)
1548 |          , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id))
1549 |        , t
1550 |        )
1551 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', ((Null|CtxVar _), _, (_, _)), _)

File "src/core/coverage.ml", lines 1541-1552, characters 5-16:
1541 | .....let LF.TypDecl (x, _) = tdecl in
1542 |      let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in
1543 |      List.map
1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
1545 |        ( cD'
...
1549 |        , t
1550 |        )
1551 |        end
1552 |        cov_goals
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 1512-1552, characters 2-16:
1512 | ..match tA with
1513 |   | LF.Atom (_, a, tS) ->
1514 |      let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *)
1515 |      dprintf
1516 |        begin fun p ->
...
1549 |        , t
1550 |        )
1551 |        end
1552 |        cov_goals
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/coverage.ml", lines 1582-1700, characters 5-8:
1582 | .....begin match mc with
1583 |      | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) ->
1584 |         let cT = LF.ClTyp (sT, cPsi) in
1585 |         let cT_p = LF.ClTyp (sT_p, cPsi_p) in
1586 |         let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in
...
1697 |                   NotSolvable
1698 |                end
1699 |         end
1700 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _)))

File "src/core/coverage.ml", lines 1725-1730, characters 5-11:
1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in
1726 |      (* let MetaPatt (cPhi, _, sB') = patt in *)
1727 |      (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *)
1728 |      (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *)
1729 |      let result = pre_match cD cD_p covG patt matchL' splitL' in
1730 |      result
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 1719-1741, characters 2-94:
1719 | ..match splitL with
1720 |   | [] -> (matchL, [])
1721 |   | Split (CovGoal (cPsi, tR, sA), patt) :: splits ->
1722 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
1723 |      let tA = Whnf.normTyp sA in
...
1738 |      pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL'
1739 |   | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits ->
1740 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
1741 |      (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Split ((CovCtx _|CovPatt (_, _, _)), _)::_

File "src/core/coverage.ml", lines 1973-2000, characters 5-6:
1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) =
1974 |        Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s')
1975 |      in
1976 |      (* bp : Context substitution associated with declaration is off by 1 *)
1977 |      let (ss', cPsi') = Subord.thin' cD'' a cPsi in
...
1997 |      in
1998 |      ( LF.Dec (cD'', mdec)
1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
2000 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _))

File "src/core/coverage.ml", lines 1964-2000, characters 2-6:
1964 | ..match decls with
1965 |   | LF.Empty -> (cD', S.LF.id)
1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
1967 |      let x = NameGen.renumber names x in
1968 |      let names = x :: names in
...
1997 |      in
1998 |      ( LF.Dec (cD'', mdec)
1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
2000 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (decls, TypDeclOpt _)

File "src/core/coverage.ml", lines 1963-2000, characters 28-6:
1963 | ............................(LF.CtxOffset k as cpsi) (d, decls) =
1964 |   match decls with
1965 |   | LF.Empty -> (cD', S.LF.id)
1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
1967 |      let x = NameGen.renumber names x in
...
1997 |      in
1998 |      ( LF.Dec (cD'', mdec)
1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
2000 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxName _|CInst ({instantiation=_; constraints=_; _ }, _))

File "src/core/coverage.ml", lines 2096-2099, characters 17-34:
2096 | .................(LF.Dec (cD', LF.Decl _) as cD) cpsi =
2097 |   let nonempty_cases = List.map (genSchemaElemGoal names cD cpsi) in
2098 |   let empty_case = List.cons (cD', LF.Null, LF.MShift 0) in
2099 |   F.(empty_case ++ nonempty_cases)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/coverage.ml", lines 2123-2136, characters 23-38:
2123 | .......................(x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) =
2124 |   let LF.Schema elems = Store.Cid.Schema.get_schema schema_cid in
2125 |   let cD' =
2126 |     LF.Dec
2127 |       (cD
...
2133 |           }
2134 |       )
2135 |   in
2136 |   genCtx [] cD' (LF.CtxOffset 1) elems
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(x, CTyp None, _, _)

File "src/core/coverage.ml", lines 2144-2178, characters 5-87:
2144 | .....let LF.TypDecl (x, tA) = decl in
2145 |      let s = LF.SVar (2, 0, S.LF.id) in
2146 |      let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in
2147 |      let name = Whnf.newMTypName mT in
2148 |      let cD' =
...
2175 |      in
2176 |      let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in
2177 |      let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in
2178 |      [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)]
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 2186-2239, characters 2-8:
2186 | ..match cT with
2187 |   | LF.ClTyp (clTyp, cPsi) ->
2188 |      begin match clTyp with
2189 |      | LF.MTyp tA ->
2190 |         dprintf
...
2236 |            , Atomic
2237 |            )
2238 |         end
2239 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/coverage.ml", lines 2249-2250, characters 11-60:
2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in
2250 |            genContextGoals cD' (x, cU, plicity, inductivity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/coverage.ml", lines 2242-2278, characters 2-58:
2242 | ..match (cv_list, cD) with
2243 |   | ([], _) -> NoCandidate
2244 |   | ([LF.CtxOffset j], LF.Dec (cD', d)) ->
2245 |      if j = k
2246 |      then
...
2275 |          SomeCtxCands ctx_goals'
2276 |        end
2277 |      else
2278 |        best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxOffset j::[], Empty)

File "src/core/coverage.ml", lines 2308-2309, characters 25-35:
2308 | .........................let LF.Root (_, tH, _, _) = tR in
2309 |                          LF.PObj tH
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/coverage.ml", lines 2302-2309, characters 22-35:
2302 | ......................match cT with
2303 |                       (* gonna be a ClTyp because we're in the CovGoal branch *)
2304 |                       | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR
2305 |                       | LF.ClTyp (LF.PTyp _, _) ->
2306 |                          (* ensure that PTyp is added as a PObj to the
2307 |                             msub; otherwise normalization WILL crash. *)
2308 |                          let LF.Root (_, tH, _, _) = tR in
2309 |                          LF.PObj tH
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/core/coverage.ml", lines 2294-2331, characters 17-50:
2294 | .................match cg with
2295 |                  | CovGoal (cPsi', tR, sA') ->
2296 |                     dprintf
2297 |                       begin fun p ->
2298 |                       p.fmt "[best_cand] generated covgoal @[%a@]"
...
2328 |                         , Whnf.cnormClTyp (sT, LF.MShift k)
2329 |                         )
2330 |                     in
2331 |                     TermCandidate (cD'', cg', ms0).
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovPatt (_, _, _))

File "src/core/coverage.ml", lines 2335-2348, characters 11-17:
2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with
2336 |            | NoCandidate -> SomeTermCands (dep0, cov_goals0)
2337 |            | SomeTermCands (dep, cov_goals) ->
2338 |               begin match dep, dep0 with
2339 |               | Dependent, Atomic -> SomeTermCands (dep, cov_goals)
...
2345 |                  then SomeTermCands (dep, cov_goals)
2346 |                  else SomeTermCands (dep0, cov_goals0)
2347 |                *)
2348 |               end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
SomeCtxCands _

File "src/core/coverage.ml", lines 2282-2356, characters 2-55:
2282 | ..match (mv_list, cD) with
2283 |   | ([], _) -> NoCandidate
2284 |   | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) ->
2285 |      if k = j
2286 |      then
...
2353 |             best_cand (cD', mvlist') (k + 1) (md :: cD_tail)
2354 |        end
2355 |      else
2356 |        best_cand (cD', mv_list) (k + 1) (md :: cD_tail)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Offset j::mvlist', Dec (cD', DeclOpt _))

File "src/core/coverage.ml", lines 2430-2438, characters 7-13:
2430 | .......match cl with
2431 |        | LF.PTyp _ ->
2432 |           let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in
2433 |           LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id)))
2434 |        | LF.MTyp _ ->
2435 |           LF.MObj
2436 |             (ConvSigma.etaExpandMMVstr
2437 |                Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names)
2438 |             )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/coverage.ml", lines 2581-2594, characters 6-9:
2581 | ......begin fun (CovGoal (cPsi', tR, sA')) ->
2582 |       let m_obj =
2583 |         ( Location.ghost
2584 |         , LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR)
2585 |         )
...
2591 |         )
2592 |       in
2593 |       (LF.Empty, pat_r, tau_r)
2594 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 2630-2632, characters 10-46:
2630 | ..........match tC with
2631 |           | MTyp _ -> fun sA -> MTyp (TClo sA)
2632 |           | PTyp _ -> fun sA -> PTyp (TClo sA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/coverage.ml", lines 2626-2667, characters 5-8:
2626 | .....begin match mT with
2627 |      | LF.(ClTyp (tC, cPsi)) ->
2628 |         let f =
2629 |           let open LF in
2630 |           match tC with
...
2664 |              , t
2665 |              )
2666 |              end
2667 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp None

File "src/core/coverage.ml", lines 2714-2762, characters 2-55:
2714 | ..function
2715 |   | [] -> vlist
2716 |   | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl ->
2717 |      let (pvlist, cvlist, mvlist) = vlist in
2718 |      if List.mem u mvlist
...
2759 |      let (pvlist, cvlist, mvlist) = vlist in
2760 |      if List.mem x pvlist
2761 |      then mvInSplit cD vlist sl
2762 |      else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
SplitCtx ((Null|DDec (_, _)), _)::_

File "src/core/coverage.ml", lines 2773-2778, characters 30-13:
2773 | ..............................(LF.Offset k') ->
2774 |       if k' < k
2775 |       then 1
2776 |       else if k' = k
2777 |       then 0
2778 |       else -1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Inst {instantiation=_; constraints=_; _ }

File "src/core/coverage.ml", lines 2773-2779, characters 6-9:
2773 | ......begin fun (LF.Offset k) (LF.Offset k') ->
2774 |       if k' < k
2775 |       then 1
2776 |       else if k' = k
2777 |       then 0
2778 |       else -1
2779 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Inst {instantiation=_; constraints=_; _ }

File "src/core/coverage.ml", lines 2784-2789, characters 33-13:
2784 | .................................(LF.CtxOffset k') ->
2785 |       if k' < k
2786 |       then 1
2787 |       else if k' = k
2788 |       then 0
2789 |       else -1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxName _|CInst ({instantiation=_; constraints=_; _ }, _))

File "src/core/coverage.ml", lines 2784-2790, characters 6-9:
2784 | ......begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
2785 |       if k' < k
2786 |       then 1
2787 |       else if k' = k
2788 |       then 0
2789 |       else -1
2790 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxName _|CInst ({instantiation=_; constraints=_; _ }, _))

File "src/core/coverage.ml", line 2867, characters 50-80:
2867 |             Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals)
                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxCandidate (_, _, _)

File "src/core/coverage.ml", lines 2903-2908, characters 2-33:
2903 | ..function
2904 |   | Comp.PatNil -> Comp.PatNil
2905 |   | Comp.PatApp (loc, pat, pS) ->
2906 |      let pat' = subst_pattern (pat_r, pv) pat in
2907 |      let pS' = subst_pattern_spine (pat_r, pv) pS in
2908 |      Comp.PatApp (loc, pat', pS')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)

File "src/core/coverage.ml", lines 2979-2995, characters 32-52:
2979 | ................................(x :: pvlist) =
2980 |   let cov_goals' =
2981 |     List.map
2982 |       begin fun (cD', (cG', pat, tau_p), t) ->
2983 |       (cD', (Context.append (Whnf.cnormGCtx (cG, t)) cG', pat, tau_p), t)
...
2992 |       cov_goals'
2993 |     end;
2994 |   let l = List.length cov_goals' in
2995 |   best_pv_cand' (cD, cG) pvlist (l, (cov_goals', x))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/coverage.ml", lines 3002-3013, characters 2-40:
3002 | ..match sl with
3003 |   | [] -> pvlist
3004 |   | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist
3005 |   | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist
3006 |   | SplitCtx _ :: sl -> pvInSplitCand sl pvlist
...
3010 |      );
3011 |      if List.mem x pvlist
3012 |      then pvInSplitCand sl pvlist
3013 |      else pvInSplitCand sl (x :: pvlist)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Split ((CovCtx _|CovPatt (_, _, _)), _)::_

File "src/core/coverage.ml", lines 3223-3231, characters 2-27:
3223 | ..let CovPatt (cG', pat', ttau') = covGoal in
3224 |   dprintf
3225 |     begin fun p ->
3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
3229 |     end;
3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
3231 |   Cand (cD_p, cG_p, ml, sl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _))

File "src/core/coverage.ml", lines 3222-3231, characters 33-27:
3222 | .................................(cD_p, GenPatt (cG_p, pat, ttau)) =
3223 |   let CovPatt (cG', pat', ttau') = covGoal in
3224 |   dprintf
3225 |     begin fun p ->
3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
3229 |     end;
3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
3231 |   Cand (cD_p, cG_p, ml, sl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _)))

File "src/core/coverage.ml", lines 3399-3434, characters 2-50:
3399 | ..function
3400 |   | LF.Empty -> false
3401 |   | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) ->
3402 |      begin
3403 |        try
...
3431 |           print_string "Unable to prove given type is empty\n"; check_emptiness cD'
3432 |      end
3433 | 
3434 |   | LF.Dec (cD', LF.Decl _) -> check_emptiness cD'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/coverage.ml", lines 3437-3447, characters 2-8:
3437 | ..function
3438 |   | LF.Empty -> false
3439 |   | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) ->
3440 |      begin
3441 |        try
...
3444 |          | _ -> check_empty_comp names cD cG
3445 |        with
3446 |        | _ -> check_empty_comp names cD cG
3447 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Automation.cmo -c -impl src/harpoon/automation.ml)
File "src/harpoon/automation.ml", lines 107-115, characters 7-10:
107 | .......let LF.ClTyp (_, cPsi) as cU = Whnf.cnormMTyp (cU, t) in
108 |        let head = MVar (Offset idx, S.LF.id) in
109 |        let clobj = MObj (Root (Location.ghost, head, Nil, Plicity.explicit)) in
110 |        let psi_hat = Context.dctxToHat cPsi in
111 |        Box
112 |          ( Location.ghost
113 |          , (Location.ghost, ClObj (psi_hat, clobj))
114 |          , cU
115 |          )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Tactic.cmo -c -impl src/harpoon/tactic.ml)
File "src/harpoon/tactic.ml", lines 227-231, characters 7-55:
227 | .......match cG with
228 |        | LF.Dec (cG', Comp.CTypDecl (n, tA, _)) when k == 1 ->
229 |           LF.Dec (cG', Comp.CTypDecl (n, tA, false))
230 |        | LF.Dec (cG', decl) ->
231 |           LF.Dec (unmark_inductive_var cG' (k-1), decl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/harpoon/tactic.ml", lines 453-468, characters 12-72:
453 | ............let LF.(MObj (Root (_, h, _, _))) = tM in
454 |             match h with
455 |             | LF.PVar (n, s) -> `pvar None
456 |             | LF.(Proj (PVar (n, s), k)) -> `pvar (Some k)
457 |             | LF.Const cid -> `ctor cid
...
465 |                    P.(fmt_ppr_cmp_pattern cD cG l0) pat
466 |                  end;
467 |                  Error.raise_violation
468 |                  "[make_meta_branch] head neither pvar (proj) nor const"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MObj (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Logic.cmo -c -impl src/core/logic.ml)
File "src/core/logic.ml", lines 190-203, characters 4-36:
190 | ....match tN with
191 |     | LF.Lam (l, n, tN') ->
192 |        begin
193 |          incr lR;
194 |          let tM = LF.Lam (l, n, shiftNormal tN' k) in
...
200 |     | LF.Clo (tN, s) ->
201 |        LF.Clo (shiftNormal tN k, s)
202 |     | LF.Tuple (l, tP) ->
203 |        LF.Tuple (l, shiftTuple tP k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
LFHole (_, _, _)

File "src/core/logic.ml", lines 241-251, characters 4-8:
241 | ....match tA with
242 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tA') ->
243 |        typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR)
244 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
245 |        typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR)))
...
248 |        { tHead = (Shift.shiftAtom tA (-cS, -dS, dR))
249 |        ; eVars = eV
250 |        ; subGoals = cG
251 |        }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, Explicit), _)

File "src/core/logic.ml", lines 297-306, characters 4-30:
297 | ....match tA with
298 |     | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') ->
299 |        All (tdec, typToGoal tA' (cS, dS, dR + 1))
300 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) ->
301 |        Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1))
302 |     | LF.Atom _ ->
303 |        Atom (Shift.shiftAtom tA (-cS, -dS, dR))
304 |     | LF.TClo (tA, s) ->
305 |        dprintf begin fun p -> p.fmt "[typToGoal] TClo" end;
306 |        raise NotImplementedYet
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, Explicit), _)

File "src/core/logic.ml", lines 309-315, characters 4-47:
309 | ....match tM with
310 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tM') ->
311 |        Exists (tD, typToRes tM' (cS, dS, dR + 1))
312 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
313 |        And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1))
314 |     | LF.Atom _ ->
315 |        Head (Shift.shiftAtom tM (-cS, -dS, dR))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, Explicit), _)

File "src/core/logic.ml", lines 326-348, characters 4-34:
326 | ....match tau with
327 |     | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) ->
328 |        (* Invariant: tA will always be atomic in our implementation *)
329 |        Box (cPsi, Atom tA, Some M)
330 |        (* possibly needs to have PiBox variables shifted;
...
345 |        let typ_dec = Comp.CTypDecl (name, tau1 , true) in
346 |        Implies ((cr1, typ_dec), cg2)
347 |     | Comp.TypBase (_, comp_cid, s) ->
348 |        Atomic (comp_cid, msToAs s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypBox (_, CTyp _)

File "src/core/logic.ml", lines 351-358, characters 4-47:
351 | ....match tau with
352 |     | Comp.TypBox (_) | Comp.TypBase(_) ->
353 |        Base tau
354 |     | Comp.TypArr (_, tau1, tau2) ->
355 |        CAnd (comptypToCompGoal tau1, comptypToCompRes tau2)
356 |     | Comp.TypPiBox (_, typ_dec, tau') ->
357 |        CExists (typ_dec, comptypToCompRes tau')
358 |     | Comp.TypInd tau' -> comptypToCompRes tau'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))

File "src/core/logic.ml", lines 394-402, characters 4-30:
394 | ....match box with
395 |     | Box (cPsi, Atom tA, Some M) ->
396 |        let loc = Location.ghost in
397 |        let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in
398 |        Comp.TypBox (loc, ctyp)
399 |     | Box (cPsi, Atom tA, Some P) ->
400 |        let loc = Location.ghost in
401 |        let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in
402 |        Comp.TypBox (loc, ctyp)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Box (_, Atom _, None)

File "src/core/logic.ml", lines 412-416, characters 4-34:
412 | ....match atomic with
413 |     | Atomic (cid, aS) ->
414 |        let loc = Location.ghost in
415 |        let mS = asToMs aS in
416 |        Comp.TypBase (loc, cid, mS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Box (_, _, _)|Implies ((_, _), _)|Forall (_, _))

File "src/core/logic.ml", lines 434-443, characters 4-10:
434 | ....match tA with
435 |     | LF.Atom _ ->
436 |        let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in
437 |        LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit)
438 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) ->
439 |        LF.Lam
440 |          ( Location.ghost
441 |          , x
442 |          , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s)
443 |          )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/logic.ml", lines 462-470, characters 4-68:
462 | ....match eV with
463 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
464 |        let (s', fS') = dctxToSub cD cPsi (eV', s) fS in
465 |        let tM' = etaExpand cD cPsi (tA, s') in
466 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
467 |     | LF.Null -> (s, fS)
468 |     | LF.CtxVar _ ->
469 |        invalid_arg
470 |          "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _."
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (eV', TypDeclOpt _)

File "src/core/logic.ml", lines 475-481, characters 4-28:
475 | ....match eV with
476 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
477 |        let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in
478 |        let tM' = etaExpand cD cPsi (tA, s') in
479 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
480 |     | LF.Null -> (s, fS)
481 |     | LF.CtxVar _ -> (s, fS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (eV', TypDeclOpt _)

File "src/core/logic.ml", lines 500-501, characters 6-52:
500 | ......match lst with
501 |       | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 510-513, characters 6-20:
510 | ......match dctx with
511 |       | LF.DDec (dctx', _) -> find_ctxvar_offset dctx'
512 |       | LF.CtxVar (LF.CtxOffset k) -> k
513 |       | LF.Null -> 0
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/logic.ml", lines 697-709, characters 9-47:
697 | .........(match mtyp with
698 |          | LF.ClTyp (LF.MTyp _, _) ->
699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
701 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
...
706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
707 |               ((x, (loc, mfront)) :: xs)
708 |          | LF.CTyp cid_opt ->
709 |             comptypToMQuery' (tau', i-1) ms xs)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/core/logic.ml", lines 696-709, characters 9-47:
696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in
697 |          (match mtyp with
698 |          | LF.ClTyp (LF.MTyp _, _) ->
699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
...
706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
707 |               ((x, (loc, mfront)) :: xs)
708 |          | LF.CTyp cid_opt ->
709 |             comptypToMQuery' (tau', i-1) ms xs)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/logic.ml", lines 1084-1094, characters 4-72:
1084 | ....match r with
1085 |     | Head tH ->
1086 |        fmt_ppr_typ cD cPsi ppf (tH, s)
1087 |     | And (g, r') ->
1088 |        fprintf ppf "%a -> %a"
...
1091 |     | Exists (LF.TypDecl (_, _tA) as tD, r') ->
1092 |        fprintf ppf "(∃%a. %a)"
1093 |          (fmt_ppr_decl cD cPsi) (tD, s)
1094 |          (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Exists (TypDeclOpt _, _)

File "src/core/logic.ml", lines 1305-1332, characters 4-19:
1305 | ....match s with
1306 |     | LF.Shift _ -> true
1307 |     | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') ->
1308 |        if uninstantiated hd then false
1309 |        else check_sub s'
...
1329 |        if uninstantiated hd then false
1330 |        else check_sub s'
1331 |     | LF.Dot (_, s') ->
1332 |        check_sub s'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/logic.ml", lines 1337-1339, characters 6-48:
1337 | ......match cD with
1338 |       | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity
1339 |       | LF.Dec (cD', _) -> get_plicity cD' (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/logic.ml", lines 1394-1412, characters 4-30:
1394 | ....match g with
1395 |     | Atom tA ->
1396 |        matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth)
1397 | 
1398 |     | Impl ((r, (LF.TypDecl (x, _) as tD)), g') ->
...
1409 |           So we just prove the conclusion in an extended context. *)
1410 |        gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s)
1411 |          (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM)))
1412 |          (currDepth, maxDepth)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Impl ((r, TypDeclOpt _), _)

File "src/core/logic.ml", lines 1444-1446, characters 17-29:
1444 | .................match cltyp with
1445 |          | LF.MTyp tau -> tau
1446 |          | LF.PTyp tau -> tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 1439-1483, characters 4-96:
1439 | ....match cD with
1440 |     | LF.Empty -> raise NoSolution
1441 |     | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) ->
1442 |        solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
1443 |     | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) ->
...
1480 |            end
1481 |        with
1482 |        | U.Failure _ ->
1483 |      solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, DeclOpt _)

File "src/core/logic.ml", lines 1496-1600, characters 4-76:
1496 | ....match s with
1497 |     | LF.Shift _ ->
1498 | dprintf begin fun p ->
1499 |             p.fmt "[trivially_prove] s_all = %a"
1500 |               (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all
...
1597 |          with
1598 |          | U.Failure _ | NoSolution -> raise NoSolution)
1599 |     | LF.Dot (_, s') ->
1600 |        trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/logic.ml", lines 2260-2263, characters 4-25:
2260 | ....match cG with
2261 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name
2262 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) ->
2263 |        get_name (k-1) cG'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG', CTypDeclOpt _)

File "src/core/logic.ml", lines 2337-2340, characters 4-21:
2337 | ....match cdecl with
2338 |     | Comp.CTypDecl (_, tau, _) ->
2339 |        let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
2340 |        (cc, k, Boxed)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/logic.ml", lines 2416-2417, characters 9-57:
2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Full (Full (_, (_, _, _)), (_, _, _))

File "src/core/logic.ml", lines 2407-2418, characters 6-33:
2407 | ......match (cP, cG) with
2408 |       | (Emp, LF.Dec(cG', cdecl)) ->
2409 |          let cc = decToCC cdecl 1 in
2410 |          let cP_ret' = shift_cPool cP_ret 1 in
2411 |          update cP cG' (prependToCPool cc cP_ret') (k+1)
...
2415 |            if pos' = k then unbox cc else cc in
2416 |          let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
2418 |       | (Emp, LF.Empty) -> cP_ret
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Full (cP', cc), Empty)

File "src/core/logic.ml", lines 2470-2476, characters 6-36:
2470 | ......match tA with
2471 |       | LF.Atom (l, cid, sp) ->
2472 |          LF.Atom (l, cid, remove_sp sp)
2473 |       | LF.PiTyp ((td, depend, plicity), tA') ->
2474 |          LF.PiTyp ((td, depend, plicity), remove_typ tA)
2475 |       | LF.TClo (tA', s) ->
2476 |          LF.TClo (remove_typ tA', s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Sigma _

File "src/core/logic.ml", lines 2495-2508, characters 6-49:
2495 | ......match tau with
2496 |       | Comp.TypBase (l, cid, mS) ->
2497 |          Comp.TypBase (l, cid, remove_mS mS)
2498 |       | Comp.TypBox (l, mT) ->
2499 |          (match mT with
...
2505 |       | Comp.TypArr (l, tau1, tau2) ->
2506 |          Comp.TypArr (l, remove_tau tau1, remove_tau tau2)
2507 |       | Comp.TypPiBox (l, cdec, tau') ->
2508 |          Comp.TypPiBox (l, cdec, remove_tau tau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _)

File "src/core/logic.ml", lines 2731-2741, characters 9-52:
2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
2732 |          let mmvar' =
2733 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
2734 |              mmvar.LF.inductivity in
2735 |          let norm = LF.Root (noLoc,
...
2738 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
2739 |          let x = Comp.M ((noLoc, mf), mT) in
2740 |          let (xs, sub) = gen_new_ih_args lst' ys in
2741 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/logic.ml", lines 2752-2762, characters 9-52:
2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
2753 |          let mmvar' =
2754 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
2755 |              mmvar.LF.inductivity in
2756 |          let norm = LF.Root (noLoc, LF.MMVar
...
2759 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
2760 |          let x = Comp.M ((noLoc, mf), mT) in
2761 |          let (xs, sub) = gen_new_ih_args lst' ys in
2762 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/logic.ml", lines 2771-2779, characters 9-58:
2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in
2772 |          let mmvar' =
2773 |            Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
2774 |              mmvar.LF.inductivity in
2775 |          let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in
2776 |          let mf = LF.ClObj (dctx_hat, LF.PObj hd) in
2777 |          let x = Comp.M ((noLoc, mf), mT) in
2778 |          let (xs, sub) = gen_new_ih_args lst' ys in
2779 |          (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|STyp (_, _)), _)

File "src/core/logic.ml", lines 2842-2843, characters 11-44:
2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in
2843 |            (loc, LF.ClObj (dh, LF.PObj hd'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/logic.ml", lines 2920-2921, characters 6-42:
2920 | ......match i with
2921 |       | Comp.Var(l, k) -> Comp.Var(l, k+1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))|
LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)|
Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)|
Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)|
AnnBox (_, (_, _), _))

File "src/core/logic.ml", lines 2977-2978, characters 6-37:
2977 | ......match cltyp with
2978 |       | LF.MTyp tA | LF.PTyp tA -> tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 2998-3001, characters 6-58:
2998 | ......match cG_a with
2999 |       | [] -> false
3000 |       | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' ->
3001 |          (Name.equal name name2) || (old_split name cG_a')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CTypDeclOpt _, _, _, _, _, _)::_

File "src/core/logic.ml", lines 3005-3009, characters 6-37:
3005 | ......match cG_a with
3006 |       | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a'
3007 |            when Name.equal name name2 ->
3008 |          (con, thm, bool)
3009 |       | x :: xs -> find_split name xs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3013-3065, characters 6-30:
3013 | ......match (cG, cPool) with
3014 |       | (LF.Dec(cG',
3015 |                 ((Comp.CTypDecl (name, Comp.TypBox
3016 |                                          (_, LF.ClTyp (cltyp, cPsi)), _wf))
3017 |                  as cdecl)),
...
3062 |       | (LF.Dec (cG', _), Full (cPool', _)) ->
3063 |          update (cG', cPool', ret)
3064 | 
3065 |       | (LF.Empty, Emp) -> ret
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dec (cG', _), Emp)

File "src/core/logic.ml", lines 3084-3087, characters 6-38:
3084 | ......match cD_a with
3085 |       | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a'
3086 |            when Name.equal d.name n -> x
3087 |       | _ :: cD_a' -> retrieve n cD_a'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3103-3108, characters 21-41:
3103 | .....................match cltyp with
3104 |            | LF.MTyp tA ->
3105 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
3106 |                                 LF.Nil, Plicity.explicit))
3107 |            | LF.PTyp tA ->
3108 |               LF.PObj (LF.PVar (1, S.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3094-3118, characters 9-31:
3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
3095 |            retrieve name cD_a in
3096 |          let (con', bool') =
3097 |            if bool then
3098 |               try
...
3115 |          let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in
3116 |          let x = (tdecl', Some i, con', 1, thm, bool') in
3117 |          let ret' = shift_cD_a ret in
3118 |          update cD' (x :: ret')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(DeclOpt _, _, _, _, _, _)

File "src/core/logic.ml", lines 3126-3131, characters 21-41:
3126 | .....................match cltyp with
3127 |            | LF.MTyp tA ->
3128 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
3129 |                                 LF.Nil, Plicity.explicit))
3130 |            | LF.PTyp tA ->
3131 |               LF.PObj (LF.PVar (1, S.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3090-3157, characters 6-23:
3090 | ......match cD with
3091 |       | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp)
3092 |                                ; plicity = Plicity.Explicit; _ }) as tdecl))
3093 |            when is_in name cD_a ->
3094 |          let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
...
3154 |          let x = (tdecl', None, con, 1, None, bool) in
3155 |          let ret' = shift_cD_a ret in
3156 |          update cD' (x :: ret')
3157 |       | LF.Empty -> ret
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, DeclOpt _)

File "src/core/logic.ml", lines 3243-3251, characters 6-44:
3243 | ......match cG_a with
3244 |       | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a'
3245 |            when Name.equal name n ->
3246 |          (tau, i, thm_var,
3247 |           (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false)
3248 |           :: cG_a', k)
3249 |       | x :: cG_a' ->
3250 |          let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in
3251 |          (tau, i, thm_var, x :: cG_a'', pos)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3256-3264, characters 6-39:
3256 | ......match cD_a with
3257 |       | (LF.Decl d, Option.Some i, no, k, thm_var, true)
3258 |         :: cD_a' when Name.equal name d.name ->
3259 |          let tau = Comp.TypBox(noLoc, d.typ) in
3260 |          (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false)
3261 |                      :: cD_a')
3262 |       | x :: cD_a' ->
3263 |          let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in
3264 |          (tau, i, thm_var, x :: cD_a'')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3330-3332, characters 9-42:
3330 | .........let (Some n) = find_mvar k cD_a in
3331 |          let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in
3332 |          (tau, i, thm_var, cD_a', cG_a, 0).
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 3358-3365, characters 8-50:
3358 | ........match cG_a with
3359 |         | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool)
3360 |           :: cG_a' when Name.equal name name2 ->
3361 |            (cdecl, con, thm, bool, cG_a')
3362 |         | x :: xs ->
3363 |            let (tdecl, num, thm_var, bool, cG_a') =
3364 |              remove xs in
3365 |            (tdecl, num, thm_var, bool, x :: cG_a')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3374-3399, characters 7-25:
3374 | .......(match cltyp with
3375 |        | LF.MTyp tA ->
3376 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in
3377 |           let norm =
3378 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
...
3396 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
3397 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
3398 |                       :: (shift_cD_a cD_a) in
3399 |           (cD_a', cG_a'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3403-3428, characters 7-25:
3403 | .......(match cltyp with
3404 |        | LF.MTyp _ ->
3405 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in
3406 |           let norm =
3407 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
...
3425 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
3426 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
3427 |                       :: (shift_cD_a cD_a) in
3428 |           (cD_a', cG_a'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3489-3525, characters 7-31:
3489 | .......(match cltyp with
3490 |         | LF.MTyp _ ->
3491 |           let norm =
3492 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
3493 |                      LF.Nil, plicity) in
...
3522 |             | false -> None
3523 |           in
3524 |           (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true)
3525 |           :: (shift_cD_a cD_a))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3646-3651, characters 4-46:
3646 | ....match cG with
3647 |     | LF.Empty -> cPool
3648 |     | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) ->
3649 |        let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
3650 |        let cc = (clause, (lengthCPool cPool) + 1, Boxed) in
3651 |        gen_cPool cG' (prependToCPool cc cPool)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG', CTypDeclOpt _)

File "src/core/logic.ml", lines 3898-3900, characters 6-46:
3898 | ......match cD with
3899 |       | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name
3900 |       | LF.Dec (cD', _) -> find_name cD' (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/logic.ml", lines 4037-4047, characters 22-64:
4037 | ......................match mobj with
4038 |         | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
4039 |           | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) ->
4040 |            mmvar.LF.instantiation :=
4041 |              Some (LF.INorm (LF.Root (noLoc,
...
4044 |         | LF.PObj LF.MPVar ((mmvar, _), _)
4045 |           | LF.PObj LF.MMVar ((mmvar, _), _) ->
4046 |            mmvar.LF.instantiation :=
4047 |              Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MObj
  (Root
     (_,
     (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
     FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _))

File "src/core/logic.ml", lines 4051-4057, characters 6-26:
4051 | ......match ih_args with
4052 |       | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs ->
4053 |          if Solver.uninstantiated hd then mobj else grab xs
4054 |       | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _))
4055 |         :: xs->
4056 |          if Solver.uninstantiated hd then mobj else grab xs
4057 |       | _ :: xs -> grab xs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 4060-4064, characters 14-56:
4060 | ..............match mobj with
4061 |       | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
4062 |       | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _))
4063 |       | LF.PObj LF.MPVar ((mmvar, _), _)
4064 |       | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ...
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MObj
  (Root
     (_,
     (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|
     FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)|
     HMClo (_, (({instantiation=_; constraints=_; _ }, _), _))), _, _))

File "src/core/logic.ml", lines 4079-4090, characters 6-88:
4079 | ......let Some cid = thm_cid in
4080 |       let i = Comp.Const(noLoc, cid) in
4081 |       let sc' = (fun e -> sc (Comp.Case (noLoc,
4082 |                                        Comp.PragmaNotCase,
4083 |                                        Whnf.cnormExp (fS i, LF.MShift 0),
...
4087 |                                                      pattern,
4088 |                                                      LF.MShift 0,
4089 |                                                      e)]))) in
4090 |       find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 4126-4128, characters 21-40:
4126 | .....................match (currDepth, maxDepth) with
4127 |         | (Some k, None) -> (k, 0)
4128 |         | (Some k1, Some k2) -> (k1, k2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(None, _)

File "src/core/logic.ml", lines 4290-4311, characters 9-83:
4290 | .........let Some cid = thm_cid in
4291 |          let i = arg_builder (Comp.Const(noLoc, cid)) in
4292 |          let (ms', fS) =
4293 |            C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in
4294 |          let ms'' = rev_ms ms' 0 in
...
4308 |          with
4309 |          | U.Failure _ | DepthReached _ | End_Of_Search ->
4310 |          focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
4311 |            (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 4595-4597, characters 6-57:
4595 | ......match cG with
4596 |       | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau
4597 |       | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/logic.ml", lines 4895-4905, characters 10-31:
4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool,
4896 |                 ms_b, pat, td_b, cid)] = blist in
4897 | 
4898 |           invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b
4899 |             (normCompGoal (cg, ms)) ms_b
...
4902 |                              [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat,
4903 |                                           ms_b, e)])))
4904 |             (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
4905 |             (ind, thm, td, cid)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid)::
(_, _, _, _, _, _, _, _, _, _, _, _)::_

File "src/core/logic.ml", lines 4976-5015, characters 7-35:
4976 | .......let Atom tA = g' in
4977 |        let cltyp = LF.MTyp tA in
4978 |        let sc' =
4979 |          (fun (cPsi', tM) ->
4980 |            let dctx_hat = Context.dctxToHat cPsi' in
...
5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5014 |                  (ind, thm, td, thm_cid);
5015 |                raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Impl ((_, _), _)|All (_, _))

File "src/core/logic.ml", lines 4975-5015, characters 7-35:
4975 | .......let Box(cPsi',g',_) = cg' in
4976 |        let Atom tA = g' in
4977 |        let cltyp = LF.MTyp tA in
4978 |        let sc' =
4979 |          (fun (cPsi', tM) ->
...
5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5014 |                  (ind, thm, td, thm_cid);
5015 |                raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))

File "src/core/logic.ml", lines 5024-5029, characters 11-51:
5024 | ...........let LF.Root (_,hd,_,_) = tM in
5025 |            let dctx_hat = Context.dctxToHat cPsi' in
5026 |            let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in
5027 |            let meta_obj = (noLoc, mfront) in
5028 |            let meta_typ = LF.ClTyp (cltyp, cPsi') in
5029 |            sc (Comp.Box(noLoc, meta_obj, meta_typ)).
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/logic.ml", lines 5020-5060, characters 7-34:
5020 | .......let Atom tA = g' in
5021 |        let cltyp = LF.PTyp tA in
5022 |        let sc' =
5023 |          (fun (cPsi', tM) ->
5024 |            let LF.Root (_,hd,_,_) = tM in
...
5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5059 |                 (ind, thm, td, thm_cid);
5060 |               raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Impl ((_, _), _)|All (_, _))

File "src/core/logic.ml", lines 5019-5060, characters 7-34:
5019 | .......let Box(_,g',_) = cg' in
5020 |        let Atom tA = g' in
5021 |        let cltyp = LF.PTyp tA in
5022 |        let sc' =
5023 |          (fun (cPsi', tM) ->
...
5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5059 |                 (ind, thm, td, thm_cid);
5060 |               raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))

File "src/core/logic.ml", lines 4969-5085, characters 4-30:
4969 | ....match cg with
4970 |     | Box (cPsi, g, Some M) ->
4971 |        (* We apply the msub here in case there are FREE MVARS that
4972 |           appear from unify   *)
4973 |        let ms = Whnf.cnormMSub ms in
...
5082 |            split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5083 |              (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5084 |              (ind, thm, td, thm_cid);
5085 |            raise End_Of_Search
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Box (_, _, None)

File "src/core/logic.ml", lines 5223-5246, characters 7-36:
5223 | .......let Some cid = thm_cid in
5224 |        let cIH_all' = Total.shift cIH_all in
5225 |        let cIH'' = Total.shift cIH' in
5226 |        let i = Comp.Const(noLoc, cid) in
5227 |        (try
...
5243 |        | End_Of_Search | DepthReached _ ->
5244 |           blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
5245 |             (cDepth, mDepth, currSplitDepth, maxSplitDepth)
5246 |             (ind, thm, td, thm_cid))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5263-5286, characters 7-32:
5263 | .......let Some cid = thm_cid in
5264 |        let i = Comp.Const(noLoc, cid) in
5265 |        let cIH'' = Total.shift cIH' in
5266 |        let cIH_all' = Total.shift cIH_all in
5267 |        let exp = Whnf.cnormExp (fS i, LF.MShift 0) in
...
5283 |        in
5284 |        blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc'
5285 |          (cDepth, mDepth, currSplitDepth, maxSplitDepth)
5286 |          (ind, thm, td, thm_cid)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5393-5394, characters 6-46:
5393 | ......match cp with
5394 |       | (_cc, _k, Boxed) -> (_cc, _k, Unboxed)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_cc, _k, Unboxed)

File "src/core/logic.ml", lines 5441-5458, characters 10-49:
5441 | ..........match r with
5442 |           | LF.ClTyp (LF.MTyp _, cPsi) ->
5443 |              let tM =
5444 |                LF.Root
5445 |                  ( noLoc
...
5455 |              LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)),
5456 |                        LF.PObj hd)
5457 |           | LF.CTyp _ ->
5458 |              LF.CObj (LF.CtxVar (LF.CtxOffset 1))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/core/logic.ml", lines 5549-5554, characters 7-37:
5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in
5550 |        let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in
5551 |        let cIH' = Total.shift cIH in
5552 |        uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc'
5553 |          (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1)
5554 |          (ind, thm, td, thm_cid) blur
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/logic.ml", lines 5587-5590, characters 24-19:
5587 | ........................match sp with
5588 |       | 0 -> Some 0  (* No splitting.    *)
5589 |       | 1 -> None    (* Only inversions. *)
5590 |       | 2 -> Some 1........................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
3

File "src/core/logic.ml", lines 5795-5798, characters 9-40:
5795 | .........let Some iterm = !(mmvar.LF.instantiation) in
5796 |          (match iterm with
5797 |          | LF.IHead hd -> hd
5798 |          | _ -> raise NotImplementedYet)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5800-5803, characters 9-40:
5800 | .........let Some iterm = !(mmvar.LF.instantiation) in
5801 |          (match iterm with
5802 |          | LF.IHead hd -> hd
5803 |          | _ -> raise NotImplementedYet)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5805-5808, characters 9-40:
5805 | .........let Some iterm = !(mmvar.LF.instantiation) in
5806 |          (match iterm with
5807 |          | LF.IHead hd -> hd
5808 |          | _ -> raise NotImplementedYet)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5834-5835, characters 11-16:
5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in
5835 |            iterm
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5837-5838, characters 11-16:
5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in
5838 |            iterm
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5840-5841, characters 11-16:
5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in
5841 |            iterm
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5847-5849, characters 9-33:
5847 | .........(match remove_head_mvars hd with
5848 |          | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p)
5849 |          | LF.INorm norm -> norm)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ISub _|ICtx _)

File "src/core/logic.ml", lines 6066-6076, characters 8-33:
6066 | ........match tau with
6067 |         | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n
6068 |         | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1)
6069 |         | Comp.TypInd (_) -> Option.some n
6070 |         | Comp.TypBox (_, _) -> Option.none
...
6073 |            let ind = ind_index tau1 n in
6074 |            match ind with
6075 |            | Option.None -> ind_index tau2 (n + 1)
6076 |            | Option.Some _ -> ind
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Erase.cmx -c -impl src/core/erase.ml)
File "src/core/erase.ml", lines 6-19, characters 2-33:
 6 | ..match (tau, n) with
 7 |   | (_, 0) -> 0
 8 |   | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1)
 9 |   | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) ->
10 |     (* We count [Inductive] as 1 instead of throwing an error because
...
16 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) ->
17 |     1 + numeric_order_arg tau (n - 1)
18 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) ->
19 |     numeric_order_arg tau (n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypPiBox (_, DeclOpt _, _), 1)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Order.cmx -c -impl src/core/order.ml)
File "src/core/order.ml", lines 26-34, characters 2-23:
26 | ..function
27 |   | I.Arg x -> Some [x]
28 |   | I.Lex xs ->
29 |      let f =
30 |        function
31 |        | I.Arg x -> Some x
32 |        | _ -> None (* We don't support nested lexicographic orders. *)
33 |      in
34 |      List.traverse f xs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Simul _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Substitution.cmx -c -impl src/core/substitution.ml)
File "src/core/substitution.ml", lines 105-124, characters 4-44:
105 | ....match (n, s) with
106 |     | (_, Undefs) -> Undef
107 |     | (1, Dot (ft, _s)) -> ft
108 |     | (n, Dot (_ft, s)) -> bvarSub (n - 1) s
109 |     | (n, Shift k) -> Head (BVar (n + k))
...
121 |            Free BVar (n + k) ... -bp *)
122 |        Head (HClo (n + k, s, sigma))
123 |     | (n, MSVar (k, ((s, t), sigma))) ->
124 |        Head (HMClo (n + k, ((s, t), sigma)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, (EmptySub|FSVar (_, _)))

File "src/core/substitution.ml", lines 156-159, characters 12-73:
156 | ............function
157 |             | (Last u, 1) -> u
158 |             | (Cons (u, _), 1) -> u
159 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last u, 0)

File "src/core/substitution.ml", lines 166-169, characters 12-73:
166 | ............function
167 |             | (Last u, 1) -> u
168 |             | (Cons (u, _), 1) -> u
169 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last u, 0)

File "src/core/substitution.ml", lines 147-194, characters 7-10:
147 | .......begin match bvarSub n s with
148 |        | Head (BVar x) ->
149 |           Head (Proj (BVar x, k))
150 | 
151 |        | Head (PVar _ as h) ->
...
191 |        | Head (AnnH _ ) -> failwith "Found head that is AnnH"
192 |        | Head (MMVar _ ) -> failwith "Found head that is MMVar"
193 |        | Head _ -> failwith "Found head that is not a BVar or PVar"
194 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/substitution.ml", lines 203-206, characters 12-73:
203 | ............function
204 |             | (Last u, 1) -> (u, s)
205 |             | (Cons (u, _), 1) -> (u, s)
206 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last u, 0)

File "src/core/substitution.ml", lines 197-210, characters 7-10:
197 | .......begin match frontSub (Head h) s with
198 |        | Head h' ->
199 |           Head (Proj (h', k))
200 | 
201 |        | Obj (Tuple (_, tuple)) ->
...
207 |           in
208 |           (*              Obj (Clo (nth s (tuple, k))) *)
209 |           Obj (Pair.fst (nth s (tuple, k)))
210 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _)

File "src/core/substitution.ml", lines 213-214, characters 7-26:
213 | .......let Head h' = frontSub (Head h) s in
214 |        Head (AnnH (h', a))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undef|Obj _)

File "src/core/substitution.ml", lines 138-221, characters 4-35:
138 | ....match ft with
139 |     | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s))
140 |     | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s)))
141 |     | Head (BVar n) -> bvarSub n s
142 |     | Head (FVar _) -> ft
...
218 |     | Obj u -> Obj (Clo (u, s))
219 |     | Undef -> Undef
220 |     | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s))
221 |     | Head (FPVar (_n, _s' )) -> ft
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head (MPVar _|FMVar _)

File "src/core/substitution.ml", line 263, characters 13-60:
263 |   let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/substitution.ml", lines 292-300, characters 6-33:
292 | ......match s with
293 |       | EmptySub -> None
294 |       | Undefs -> None
295 |       | Shift _ -> None
296 |       | Dot (Undef, s') -> lookup (n + 1) s' p
297 |       | Dot (Head (BVar k), s') ->
298 |          if k = p
299 |          then Some (Head (BVar n))
300 |          else lookup (n + 1) s' p
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dot
  (Head
     (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
     FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
  _)

File "src/core/substitution.ml", lines 314-324, characters 6-37:
314 | ......match s with
315 |       | EmptySub ->
316 |          invert'' maxoffset Undefs
317 |       | Undefs ->
318 |          invert'' maxoffset Undefs
...
321 |       | Dot (Head (BVar k), s') ->
322 |          invert' (n + 1) s' (max k maxoffset)
323 |       | Dot (_, s') -> (* Is this really necessary? -ac *)
324 |          invert' (n + 1) s' maxoffset
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/substitution.ml", lines 335-350, characters 4-65:
335 | ....match (s, cPsi) with
336 |     | (Shift _ (* 0 *), Null) ->
337 |        Null
338 |     | (Shift _, CtxVar psi) ->
339 |        CtxVar psi
...
347 |     | (Dot (Undef, t), DDec (cPsi, _)) ->
348 |        strengthen t cPsi
349 |     | (Shift n, cPsi) ->
350 |        strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dot (Head (BVar _k), t), (Null|CtxVar _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Context.cmx -c -impl src/core/context.ml)
File "src/core/context.ml", lines 90-104, characters 4-24:
 90 | ....function
 91 |     | (DDec (_, TypDecl (x, tA')), 1) ->
 92 |        TypDecl (x, TClo (tA', Shift k))
 93 | 
 94 |     | (DDec (cPsi', TypDecl _), k') ->
...
101 |        ctxDec' (cPsi', k'-1)
102 | 
103 |     | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) ->
104 |        ctxDec' (cPsi, k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxVar
   (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)),
_)

File "src/core/context.ml", lines 124-134, characters 4-24:
124 | ....function
125 |     | (DDec (_, TypDecl (x, Sigma tArec)), 1) ->
126 |        TypDecl (x, Sigma (sigmaShift tArec (Shift k)))
127 | 
128 |     | (DDec (cPsi', TypDecl (_, Sigma _)), k') ->
...
131 |     | (DDec (cPsi', TypDecl _), k') ->
132 |        ctxDec' (cPsi', k' - 1)
133 |     | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) ->
134 |        ctxDec' (cPhi, k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(DDec (cPsi', TypDeclOpt _), _)

File "src/core/context.ml", lines 361-364, characters 2-49:
361 | ..match (cPsi, k) with
362 |   | (DDec (_, TypDecl (x, _)), 1) -> x
363 |   | (DDec (_, TypDeclOpt x), 1) -> x
364 |   | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Null|CtxVar _), _)

File "src/core/context.ml", lines 367-371, characters 2-27:
367 | ..match (cD, k) with
368 |   | (Dec (_, Decl { name = u; _ }), 1) -> u
369 |   | (Dec (_, DeclOpt { name = u; _ }), 1) -> u
370 |   | (Dec (cD, _), k) ->
371 |      getNameMCtx cD (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Empty, _)

File "src/core/context.ml", lines 374-377, characters 2-45:
374 | ..match (cG, k) with
375 |   | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x
376 |   | (Dec (_, Comp.CTypDeclOpt x), 1) -> x
377 |   | (Dec (cG, _), k) -> getNameCtx cG (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Empty, _)

File "src/core/context.ml", lines 401-403, characters 4-58:
401 | ....function
402 |     | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl)
403 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Null

File "src/core/context.ml", lines 409-411, characters 4-58:
409 | ....function
410 |     | CtxVar ctx_var -> Null
411 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Null

File "src/core/context.ml", lines 436-439, characters 2-28:
436 | ..match (cD, psi_offset) with
437 |   | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema
438 |   | (Dec (cD, _) , i) ->
439 |      lookupSchema cD (i - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Empty, _)

File "src/core/context.ml", lines 446-453, characters 7-10:
446 | .......begin match cvar with
447 |        | CtxName phi when Name.(psi = phi) -> (psi, schemaName)
448 |        | CtxName _ -> lookup cD (offset + 1)
449 |        | CtxOffset n ->
450 |           if n - offset = 1
451 |           then (psi, schemaName)
452 |           else lookup cD (offset + 1)
453 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CInst _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Store.cmx -c -impl src/core/store.ml)
File "src/core/store.ml", lines 212-217, characters 6-45:
212 | ......function
213 |       | Int.LF.Atom(_, b, _) ->
214 |          List.iter (fun a -> addSubord a b) acc ; [b]
215 | 
216 |       | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) ->
217 |          inspect (acc @ (inspect [] tA1)) tA2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/store.ml", lines 222-226, characters 6-56:
222 | ......function
223 |       | Int.LF.Typ ->
224 |          List.iter (fun a -> addSubord a cid_tp) acc
225 |       | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) ->
226 |          inspectKind cid_tp (acc @ (inspect [] tA1)) tK2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Whnf.cmx -c -impl src/core/whnf.ml)
File "src/core/whnf.ml", lines 36-39, characters 2-73:
36 | ..match cPsi with
37 |   | Null -> tA
38 |   | DDec (cPsi', decl) ->
39 |      raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar _

File "src/core/whnf.ml", lines 133-148, characters 2-64:
133 | ..match sA' with
134 |   | (PiTyp ((decl, _, _), tA'), s') ->
135 |      let (u', tM) =
136 |        lowerMVar'
137 |          (DDec (cPsi, LF.decSub decl s'))
...
145 | 
146 |   | (Atom (loc, a, tS), s') ->
147 |      let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in
148 |      (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity))....................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _, _)

File "src/core/whnf.ml", lines 152-162, characters 2-25:
152 | ..match (u, sA) with
153 |   | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ }
154 |     , (PiTyp _, _)
155 |     ) ->
156 |      let (u', tM) = lowerMVar' cPsi sA plicity inductivity in
...
159 | 
160 |   | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s')
161 | 
162 |   | (_, (Atom _, _)) -> u
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Inst {typ=ClTyp (_, _); _ }, (Sigma _, _))

File "src/core/whnf.ml", lines 319-329, characters 4-31:
319 | ....match s with
320 |     | MShift _ -> None
321 |     | MDot (MUndef, t') -> lookup (n + 1) t' p
322 | 
323 |     | MDot (MV k, t')
...
326 |       | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') ->
327 |        if k = p
328 |        then Some n
329 |        else lookup (n + 1) t' p
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MDot (CObj (CtxVar (CtxName _|CInst _)), _)

File "src/core/whnf.ml", lines 385-387, characters 7-59:
385 | .......match normHead (h, sigma) with
386 |      | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity)
387 |      | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 404-407, characters 5-8:
404 | .....begin match normMMVar mmt with
405 |      | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma))))
406 |      | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma)
407 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 409-413, characters 5-8:
409 | .....begin match normMMVar mmt with
410 |      (* The order in which we normalize mm, n, s, and sigma seems to matter..*)
411 |      | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma)))
412 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
413 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 415-419, characters 5-8:
415 | .....begin match normMMVar mmt with
416 |      | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma)))
417 |      | Result (IHead h) -> normFt' (normHead (h, s), sigma)
418 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
419 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (ISub _|ICtx _)

File "src/core/whnf.ml", lines 422-425, characters 5-8:
422 | .....begin match normMMVar (mm, MShift 0) with
423 |      | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma)))
424 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
425 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 449-451, characters 2-32:
449 | ..match ft with
450 |   | Head h -> normHead (h, s)
451 |   | Obj tM -> Obj (norm (tM, s))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 454-457, characters 2-37:
454 | ..match tM with
455 |   | INorm n -> INorm (cnorm (n, mt))
456 |   | IHead h -> IHead (cnormHead (h, mt))
457 |   | ISub s -> ISub (cnormSub (s, mt))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ICtx _

File "src/core/whnf.ml", lines 463-466, characters 5-8:
463 | .....begin match normHead (h, s) with
464 |      | Obj tM -> MObj tM
465 |      | Head h' -> PObj h'
466 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 470-473, characters 2-64:
470 | ..match normFt' (ft, LF.id) with
471 |   | Head h -> Head (Proj (h, i))
472 |   | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i))
473 |   | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 476-479, characters 2-50:
476 | ..function
477 |   | (Last tM, 1) -> tM
478 |   | (Cons (tM, _), 1) -> tM
479 |   | (Cons (_, rest), k) -> reduceTuple (rest, k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Last tM, 0)

File "src/core/whnf.ml", lines 507-521, characters 2-17:
507 | ..function
508 |   | (LFHole (l, _, _), _) ->
509 |      raise (InvalidLFHole l)
510 | 
511 |   | (Root (loc, h, sp, plicity), spine) ->
...
518 |      Lam (loc, n, tM')
519 | 
520 |   | (Clo sM, tS) ->
521 |      reduce sM tS
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _), SClo _)

File "src/core/whnf.ml", lines 524-526, characters 2-54:
524 | ..function
525 |   | (Nil, s) -> s
526 |   | (App (tN, tS), s) -> App (tN, appendSpine (tS, s))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(SClo _, _)

File "src/core/whnf.ml", lines 537-543, characters 5-8:
537 | .....begin match mmvar.instantiation.contents with
538 |      | Some (ISub s) ->
539 |         let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in
540 |         LF.comp (Shift n) s0
541 |      | None ->
542 |         MSVar (n, ((mmvar, mt), normSub s'))
543 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 562-573, characters 2-37:
562 | ..match tA with
563 |   | Atom (loc, a, tS) ->
564 |      Atom (loc, a, normSpine (tS, sigma))
565 | 
566 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
...
570 |      normTyp (tA, LF.comp s sigma)
571 | 
572 |   | Sigma recA ->
573 |      Sigma (normTypRec (recA, sigma))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/whnf.ml", lines 620-629, characters 5-8:
620 | .....begin match !u with
621 |      | None ->
622 |         (Some (CInst (mmvar, mcomp theta t)), k)
623 |      | Some (ICtx cPsi) ->
624 |         (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *)
625 |         begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with
626 |         | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *)
627 |         | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *)
628 |         end
629 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 631-641, characters 5-8:
631 | .....begin match LF.applyMSub offset t with
632 |      | CObj cPsi ->
633 |         begin match Context.dctxToHat cPsi with
634 |         | (None, i) -> (None, k + i)
635 |         | (Some cvar', i) -> (Some cvar', k + i)
...
638 |      | ClObj _ ->
639 |         Error.raise_violation
640 |           (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset)
641 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MUndef

File "src/core/whnf.ml", lines 656-659, characters 5-8:
656 | .....begin match LF.applyMSub k t with
657 |      | MV k' -> Head (MVar (Offset k', s'))
658 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
659 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, (PObj _|SObj _))

File "src/core/whnf.ml", lines 662-666, characters 5-8:
662 | .....begin match LF.applyMSub k t with
663 |      | MV k' -> Head (PVar (k', s'))
664 |      | ClObj (_, PObj h) -> normHead (h, s')
665 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
666 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/whnf.ml", lines 669-672, characters 5-8:
669 | .....begin match LF.applyMSub sv t with
670 |      | MV sv' -> Head (HClo (k, sv', s'))
671 |      | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s')
672 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, (MObj _|PObj _))

File "src/core/whnf.ml", lines 674-677, characters 5-8:
674 | .....begin match normMMVar mmt with
675 |      | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
676 |      | Result (INorm n) -> Obj (cnorm (norm (n, s), t))
677 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 679-684, characters 5-8:
679 | .....begin match normMMVar mmt with
680 |      | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
681 |      | Result (IHead h) -> cnormFt' (normHead (h, s), t)
682 |      | Result (INorm n) ->
683 |         Obj (cnorm (norm (n, s), t))
684 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (ISub _|ICtx _)

File "src/core/whnf.ml", lines 686-689, characters 5-8:
686 | .....begin match normMMVar mmt with
687 |      | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t))))
688 |      | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t)
689 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 691-694, characters 5-8:
691 | .....begin match normMMVar (mm, MShift 0) with
692 |      | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t)))
693 |      | Result (INorm n) -> Obj (norm (n, s))
694 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Result (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 698-700, characters 2-38:
698 | ..function
699 |   | (Head h, t) -> cnormHead' (h, t)
700 |   | (Obj tM, t) -> Obj (cnorm (tM, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undef, _)

File "src/core/whnf.ml", lines 713-721, characters 5-8:
713 | .....begin match cnormHead' (head, t) with
714 |      | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity)
715 |      | Obj tM ->
716 |         (* in this ends up evaluating to a Root, we want to keep the
717 |            plicity that we had here *)
718 |         map_plicity
719 |           (fun _ -> plicity)
720 |           (reduce (tM, LF.id) (cnormSpine (tS, t)))
721 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/whnf.ml", lines 728-729, characters 2-17:
728 | ..match cnormHead' (h, t) with
729 |   | Head h' -> h'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undef|Obj _)

File "src/core/whnf.ml", lines 752-758, characters 5-8:
752 | .....begin match LF.applyMSub offset t with
753 |      | MV offset' -> SVar (offset', n, cnormSub (s', t))
754 |      | ClObj (_, SObj r) ->
755 |         LF.comp (LF.comp (Shift n) r) (cnormSub (s', t))
756 |      | ClObj _ ->
757 |         Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj"
758 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|CObj _)

File "src/core/whnf.ml", lines 764-775, characters 5-56:
764 | .....match mmvar.instantiation.contents with
765 |      | Some (ISub s) ->
766 |         dprintf
767 |           begin fun p ->
768 |           p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]"
...
772 |         let s0' = LF.comp (Shift n) s0 in
773 |         cnormSub (s0', t)
774 |      | None ->
775 |         MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ICtx _)

File "src/core/whnf.ml", lines 793-803, characters 2-34:
793 | ..match tA with
794 |   | Atom (loc, a, tS) ->
795 |      Atom (loc, a, cnormSpine (tS, t))
796 | 
797 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
...
800 |   | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t))
801 | 
802 |   | Sigma recA ->
803 |      Sigma (cnormTypRec (recA, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/whnf.ml", lines 832-837, characters 5-8:
832 | .....begin match !u with
833 |      | None ->
834 |         CtxVar (CInst (mmvar, mcomp theta t))
835 |      | Some (ICtx cPhi) ->
836 |         cnormDCtx (cPhi, mcomp theta t)
837 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 840-843, characters 5-8:
840 | .....begin match LF.applyMSub psi t with
841 |      | CObj cPsi' -> normDCtx cPsi'
842 |      | MV k -> CtxVar (CtxOffset k)
843 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|ClObj (_, _))

File "src/core/whnf.ml", lines 886-889, characters 5-8:
886 | .....begin match mmvar.instantiation.contents with
887 |      | None -> cPsi
888 |      | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta))
889 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 960-973, characters 8-11:
960 | ........begin match h' with
961 |         | BVar i ->
962 |            begin match LF.bvarSub i (LF.comp r sigma) with
963 |            | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma))
964 |            | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id)
...
970 |            let h' = PVar (p, LF.comp (LF.comp s r) sigma) in
971 |            whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
972 |         | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id)
973 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
HClo (_, _, _)|HMClo (_, _))

File "src/core/whnf.ml", lines 956-979, characters 5-8:
956 | .....begin match u with
957 |      (* MPVar instantiation must be a head *)
958 |      | Some (IHead h) ->
959 |         let h' = cnormHead (h, t) in
960 |         begin match h' with
...
976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
979 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 954-979, characters 5-8:
954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in
955 |      let u = mmvar.instantiation.contents in
956 |      begin match u with
957 |      (* MPVar instantiation must be a head *)
958 |      | Some (IHead h) ->
...
976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
979 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 995-1011, characters 8-11:
 995 | ........begin match whnfTyp (tA, LF.id) with
 996 |         | (Atom (loc', a, tS'), _ (* id *)) ->
 997 |            (* meta-variable is of atomic type; tS = Nil *)
 998 |            let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
 999 |            (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
...
1008 |            (* let _ = lowerMMVar cD u in
1009 |               whnf (tM, sigma) *)
1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
1011 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Sigma _|TClo _), _)

File "src/core/whnf.ml", lines 985-1012, characters 5-8:
 985 | .....begin match u with
 986 |      (* MMVar instantiation must be normal *)
 987 |      | Some (INorm tM) ->
 988 |         (* constraints associated with u must be in solved form *)
 989 |         let tM' = cnorm (tM, t) in
...
1009 |               whnf (tM, sigma) *)
1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
1011 |         end
1012 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 983-1012, characters 5-8:
 983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in
 984 |      let u = mmvar.instantiation.contents in
 985 |      begin match u with
 986 |      (* MMVar instantiation must be normal *)
 987 |      | Some (INorm tM) ->
...
1009 |               whnf (tM, sigma) *)
1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
1011 |         end
1012 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 1041-1053, characters 8-11:
1041 | ........begin match whnfTyp (tA, LF.id) with
1042 |         | (Atom (loc', a, tS'), _ (* id *)) ->
1043 |            (* meta-variable is of atomic type; tS = Nil *)
1044 |            let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
1045 |            (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id)
...
1050 |             *)
1051 |            ignore (lowerMVar cvar);
1052 |            whnf (tM, sigma)
1053 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Sigma _|TClo _), _)

File "src/core/whnf.ml", lines 1036-1053, characters 8-11:
1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in
1037 |         (* note: we could split this case based on tA;
1038 |          *      this would avoid possibly building closures with id
1039 |          *)
1040 |         let r' = normSub r in
...
1050 |             *)
1051 |            ignore (lowerMVar cvar);
1052 |            whnf (tM, sigma)
1053 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 1023-1054, characters 5-8:
1023 | .....begin match u with
1024 |      | Some (INorm tM) ->
1025 |         (* constraints associated with u must be in solved form *)
1026 |         let r' = normSub r in
1027 |         let tM' =
...
1051 |            ignore (lowerMVar cvar);
1052 |            whnf (tM, sigma)
1053 |         end
1054 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (IHead _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 1073-1082, characters 5-8:
1073 | .....begin match LF.bvarSub i sigma with
1074 |      | Head (BVar j) ->
1075 |         ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity)
1076 |         , LF.id
1077 |         )
1078 |      | Head (PVar (q, s)) ->
1079 |         ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity)
1080 |         , LF.id
1081 |         )
1082 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
  FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/whnf.ml", lines 1098-1109, characters 11-14:
1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with
1099 |            | Head (BVar x) ->
1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
1101 |               , LF.id
1102 |               )
...
1106 |               )
1107 |            | Undef ->
1108 |               Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i)
1109 |            end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Obj _

File "src/core/whnf.ml", lines 1096-1118, characters 8-11:
1096 | ........begin match cnormHead (h, t) with
1097 |         | BVar i ->
1098 |            begin match LF.bvarSub i (LF.comp r sigma) with
1099 |            | Head (BVar x) ->
1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
...
1115 |         | MPVar ((q, t'), r') ->
1116 |            let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in
1117 |            (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
1118 |         end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
HClo (_, _, _)|HMClo (_, _))

File "src/core/whnf.ml", lines 1120-1127, characters 8-9:
1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in
1121 |         (* constraints associated with q must be in solved form *)
1122 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
1123 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
1124 |         let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in
1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
1126 |         , LF.id
1127 |         )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|STyp (_, _)), _)

File "src/core/whnf.ml", lines 1093-1128, characters 5-8:
1093 | .....begin match mmvar.instantiation.contents with
1094 |      | Some (IHead h) ->
1095 |         (* constraints associated with q must be in solved form *)
1096 |         begin match cnormHead (h, t) with
1097 |         | BVar i ->
...
1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
1126 |         , LF.id
1127 |         )
1128 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|ISub _|ICtx _)

File "src/core/whnf.ml", lines 1143-1157, characters 2-39:
1143 | ..function
1144 |   | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l)
1145 |   | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1)
1146 | 
1147 |   | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) ->
...
1154 |      whnfRedex (sM, (tS, LF.comp s2' s2))
1155 | 
1156 |   | ((Clo (tM, s), s1), sS) ->
1157 |      whnfRedex ((tM, LF.comp s s1), sS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Root (_, _, _, _), _), (App (_, _), _))

File "src/core/whnf.ml", lines 1180-1191, characters 2-15:
1180 | ..function
1181 |   | [] -> true
1182 |   | ({ contents = Queued _ } :: cnstrs) ->
1183 |       constraints_solved cnstrs
1184 |   | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) ->
...
1188 |   | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) ->
1189 |      if convHead (h1, LF.id) (h2, LF.id)
1190 |      then constraints_solved cnstrs
1191 |      else false
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
{contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_

File "src/core/whnf.ml", lines 1283-1288, characters 2-71:
1283 | ..match (spine1, spine2) with
1284 |   | ((Nil, _), (Nil, _)) -> true
1285 |   | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) ->
1286 |      conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2)
1287 |   | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s')
1288 |   | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Nil, _), (App (_, _), _))

File "src/core/whnf.ml", lines 1457-1465, characters 2-32:
1457 | ..match (cPsi, cPsi') with
1458 |   | (_, Empty) -> true
1459 |   | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) ->
1460 |      if convTyp (tA, LF.id) (tB, LF.id)
1461 |      then convSubsetCtx cPsi1 cPsi2
1462 |      else
1463 |        (* keep tBs around and check that tA is a subordinate of tB,
1464 |        i.e. anything in tA cannot influence tB *)
1465 |        convSubsetCtx cPsi1 cPsi'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _))

File "src/core/whnf.ml", lines 1591-1593, characters 4-76:
1591 | ....match mO with
1592 |     | CObj cPsi -> CObj (normDCtx cPsi)
1593 |     | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|MV _)

File "src/core/whnf.ml", lines 1604-1624, characters 2-49:
1604 | ..function
1605 |   | Comp.TypBase (loc, c, mS) ->
1606 |      Comp.TypBase (loc, c, normMetaSpine mS)
1607 |   | Comp.TypCobase (loc, c, mS) ->
1608 |      Comp.TypCobase (loc, c, normMetaSpine mS)
...
1621 |     Comp.TypPiBox
1622 |       (loc, (Decl { d with typ = typ' }), tau')
1623 | 
1624 |   | Comp.TypInd tau -> Comp.TypInd (normCTyp tau)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypPiBox (loc, DeclOpt _, _)

File "src/core/whnf.ml", lines 1640-1643, characters 2-30:
1640 | ..match cdecl with
1641 |   | Decl d ->
1642 |     let typ' = cnormMTyp (d.typ, t) in
1643 |     Decl { d with typ = typ' }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/whnf.ml", lines 1646-1670, characters 2-60:
1646 | ..function
1647 |   | (Comp.TypBase (loc, a, mS), t) ->
1648 |      let mS' = cnormMetaSpine (mS, t) in
1649 |      Comp.TypBase (loc, a, mS')
1650 |   | (Comp.TypCobase (loc, a, mS), t) ->
...
1667 |   | (Comp.TypClo (tT, t'), t) ->
1668 |      cnormCTyp (tT, mcomp t' t)
1669 | 
1670 |   | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _), _)

File "src/core/whnf.ml", lines 1673-1675, characters 2-47:
1673 | ..match cdecl with
1674 |   | Comp.CTypDecl(n, typ, wf_t) ->
1675 |      Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 1691-1707, characters 2-70:
1691 | ..function
1692 |   | (Comp.TypBase (loc, c, mS), t) ->
1693 |      let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in
1694 |      (Comp.TypBase (loc, c, mS'), m_id)
1695 |   | (Comp.TypCobase (loc, c, mS), t) ->
...
1704 | 
1705 |   | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t)
1706 | 
1707 |   | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _), _)

File "src/core/whnf.ml", lines 1902-1905, characters 2-74:
1902 | ..match cG with
1903 |   | Empty -> Empty
1904 |   | Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
1905 |      Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/whnf.ml", lines 1928-1930, characters 2-62:
1928 | ..function
1929 |   | Comp.CTypDecl (x, tau, flag) ->
1930 |      Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 1957-1962, characters 2-41:
1957 | ..match cD with
1958 |   | Empty -> Empty
1959 |   | Dec (cD, Decl d) ->
1960 |     let typ' = normMTyp d.typ in
1961 |     let cD' = normMCtx cD in
1962 |     Dec (cD', Decl { d with typ = typ' })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD, DeclOpt _)

File "src/core/whnf.ml", lines 1990-1993, characters 2-60:
1990 | ..match (tM1, tM2) with
1991 |   | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id)
1992 |   | (ISub s1, ISub s2) -> convSub s1 s2
1993 |   | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(INorm n1, (IHead _|ISub _|ICtx _))

File "src/core/whnf.ml", lines 1998-2004, characters 2-25:
1998 | ..match (mS, mS') with
1999 |   | (Comp.MetaNil, Comp.MetaNil) -> true
2000 |   | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) ->
2001 |      convMetaObj mO mO'
2002 |      && convMetaTyp mT mT'
2003 |      && convMetaSpine mS mS'
2004 |      && Plicity.(p1 = p2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaNil, MetaApp (_, _, _, _))

File "src/core/whnf.ml", lines 2071-2075, characters 2-42:
2071 | ..match (d1, d2) with
2072 |   | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2)
2073 |   | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) ->
2074 |      Name.(x1 = x2) && Stdlib.(=) w1 w2
2075 |      && convCTyp (tau1, m_id) (tau2, m_id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CTypDeclOpt x1, CTypDecl (_, _, _))

File "src/core/whnf.ml", lines 2095-2105, characters 2-8:
2095 | ..match sA with
2096 |   | (Atom (loc, _, _) as tP, s) ->
2097 |      let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in
2098 |      Root (loc, MVar (u, s'), Nil, plicity)
2099 | 
...
2102 |        ( Name.location x
2103 |        , x
2104 |        , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
2105 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/whnf.ml", lines 2120-2130, characters 2-8:
2120 | ..match sA with
2121 |   | (Atom _ as tP, s) ->
2122 |      let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in
2123 |      Root (loc, MMVar ((u, m_id), s'), Nil, plicity)
2124 | 
...
2127 |        ( loc
2128 |        , x
2129 |        , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
2130 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/whnf.ml", lines 2135-2141, characters 2-42:
2135 | ..match tM with
2136 |   | Lam (_, _, tM) -> closed (tM, LF.dot1 s)
2137 |   | Root (_, h, tS, _) ->
2138 |      closedHead h
2139 |      && closedSpine (tS, s)
2140 |   | LFHole _ -> false
2141 |   | Tuple (_, tup) -> closedTuple (tup, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Clo _

File "src/core/whnf.ml", lines 2166-2174, characters 2-28:
2166 | ..function
2167 |   | EmptySub -> true
2168 |   | Undefs -> true
2169 |   | SVar (_, _, sigma) -> closedSub sigma
2170 |   | Shift _ -> true
2171 |   | Dot (ft, s) -> closedFront ft && closedSub s
2172 |   | MSVar (_, ((v, t), s)) ->
2173 |      (* the case for MMVar doesn't also check the substitution -je *)
2174 |      is_mmvar_instantiated v.....................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
FSVar (_, _)

File "src/core/whnf.ml", lines 2185-2190, characters 2-40:
2185 | ..match tA with
2186 |   | Atom (_, _, tS) -> closedSpine (tS, s)
2187 |   | PiTyp ((t_dec, _, _), tA) ->
2188 |      closedDecl (t_dec, s)
2189 |      && closedTyp (tA, LF.dot1 s)
2190 |   | Sigma recA -> closedTypRec (recA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/whnf.ml", lines 2208-2211, characters 5-8:
2208 | .....begin match mmvar.instantiation.contents with
2209 |      | None -> false
2210 |      | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta))
2211 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/whnf.ml", lines 2241-2244, characters 2-56:
2241 | ..function
2242 |   | CObj cPsi -> closedDCtx cPsi
2243 |   | ClObj (phat, t) ->
2244 |      closedDCtx (Context.hatToDCtx phat) && closedMObj t
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|MV _)

File "src/core/whnf.ml", lines 2255-2264, characters 2-37:
2255 | ..function
2256 |   | Comp.TypBase (_, _, mS) -> closedMetaSpine mS
2257 |   | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS
2258 |   | Comp.TypBox (_, cT) -> closedMetaTyp cT
2259 |   | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2
2260 |   | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs
2261 |   | Comp.TypPiBox (_, ctyp_decl, cT) ->
2262 |       closedCTyp cT && closedDecl ctyp_decl
2263 |   | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *)
2264 |   | Comp.TypInd tau -> closedCTyp tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDef (_, _, _)

File "src/core/whnf.ml", lines 2406-2407, characters 37-34:
2406 | .....................................(Comp.CTypDecl (_, tau2, _)) =
2407 |     convCTyp (tau1, t1) (tau2, t2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 2406-2407, characters 8-34:
2406 | ........(Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
2407 |     convCTyp (tau1, t1) (tau2, t2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/whnf.ml", lines 2412-2413, characters 32-23:
2412 | ................................(Decl { typ = cU2; _ }) =
2413 |     convMetaTyp cU1 cU2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/whnf.ml", lines 2412-2413, characters 8-23:
2412 | ........(Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
2413 |     convMetaTyp cU1 cU2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/whnf.ml", lines 2418-2420, characters 2-93:
2418 | ..function
2419 |   | (Atom _, _) as sA -> (cPsi, whnfTyp sA)
2420 |   | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Sigma _|TClo _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Subord.cmx -c -impl src/core/subord.ml)
File "src/core/subord.ml", lines 98-101, characters 7-43:
 98 | .......function
 99 |        | Atom _ -> [tA]
100 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
101 |           extract_neg tA1 @ extract_pos tA2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/subord.ml", lines 103-106, characters 7-43:
103 | .......function
104 |        | Atom _ -> []
105 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
106 |           extract_pos tA1 @ extract_neg tA2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/subord.ml", lines 85-112, characters 2-47:
 85 | ..match tA with
 86 |   | Atom (_, a, _) ->
 87 |      Store.Cid.Typ.freeze a;
 88 |      if List.exists
 89 |           begin fun type_in_basis ->
...
109 |         If we keep this, then we might not strengthen enough... -bp*)
110 |      List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1)
111 |      @ relevant tA2 basis
112 |   | Sigma typRec -> relevantTypRec typRec basis
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/subord.ml", lines 159-161, characters 9-71:
159 | .........match psi with
160 |          | CtxOffset _ -> Context.lookupCtxVarSchema cD psi
161 |          | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CInst ({typ=CTyp None; _ }, _)

File "src/core/subord.ml", lines 155-187, characters 4-10:
155 | ....match cPsi with
156 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
157 |     | CtxVar psi ->
158 |        let schema =
159 |          match psi with
...
184 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
185 |           let thin_s_inv = Substitution.LF.invert thin_s in
186 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
187 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/subord.ml", line 189, characters 8-45:
189 |   inner (match tP with Atom (_, a, _) -> [a]) cPsi
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))

File "src/core/subord.ml", lines 215-216, characters 16-21:
215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in
216 |                 s_cid
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=CTyp None; _ })

File "src/core/subord.ml", lines 205-238, characters 4-10:
205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with
206 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
207 |     | CtxVar psi ->
208 |        begin
209 |          try
...
235 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
236 |           let thin_s_inv = Substitution.LF.invert thin_s in
237 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
238 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/subord.ml", lines 249-251, characters 11-24:
249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in
250 |            p.fmt "[thin'] CtxName psi = %a FOUND"
251 |              Name.pp psi
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=ClTyp (_, _); _ })
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Ctxsub.cmx -c -impl src/core/ctxsub.ml)
File "src/core/ctxsub.ml", lines 46-65, characters 2-36:
46 | ..match sA' with
47 |   | (PiTyp ((decl, _, _), tA'), s') ->
48 |      let (tM , sAmv) =
49 |        lowerMVar
50 |          (DDec (cPsi, Substitution.LF.decSub decl s'))
...
62 |          , Nil
63 |          , Plicity.explicit
64 |          ) ,
65 |       ClTyp(MTyp (TClo sA') , cPsi))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _, _)

File "src/core/ctxsub.ml", lines 88-158, characters 2-89:
 88 | ..function
 89 |   | Null ->
 90 |      (* Substitution.LF.id  --changed 2010-07-26*)
 91 |      (cD, ctxShift psi, 0)
 92 | 
...
155 | 
156 |   | DDec (_, TypDecl _) ->
157 |      (* For the moment, assume tA atomic. *)
158 |      Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (_, TypDeclOpt _)

File "src/core/ctxsub.ml", lines 174-216, characters 2-11:
174 | ..function
175 |   | Null ->
176 |      (* Substitution.LF.id  --changed 2010-07-26*)
177 |      ctxShift cPhi
178 | 
...
213 |      (* dprint (fun () -> "shifted = " ^ subToString shifted);*)
214 |      let result = Dot (front, s) in
215 |      dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result);
216 |      result
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi', TypDeclOpt _)

File "src/core/ctxsub.ml", lines 250-255, characters 2-59:
250 | ..function
251 |   | Empty -> MShift (Context.length cD0)
252 |   | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) ->
253 |      let t = mctxToMMSub cD0 cD' in
254 |      let mtyp' = Whnf.cnormMTyp (mtyp, t) in
255 |      MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/ctxsub.ml", lines 261-263, characters 2-35:
261 | ..function
262 |   | t when n <= 0 -> t
263 |   | MDot (_, t') -> drop (n - 1) t'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MShift _
(However, some guarded clause may match this value.)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__ConvSigma.cmx -c -impl src/core/convSigma.ml)
File "src/core/convSigma.ml", lines 20-22, characters 2-54:
20 | ..match (conv_list, k) with
21 |   | (d :: conv_list', 1) -> d
22 |   | (d :: conv_list', _) -> d + map conv_list' (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
([], _)

File "src/core/convSigma.ml", lines 44-52, characters 2-21:
44 | ..match tM with
45 |   | LF.Lam (loc, x, tN) ->
46 |      let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in
47 |      LF.Lam (loc, x, tN')
48 |   | LF.Root (loc, h, tS, plicity) ->
49 |      let h' = strans_head loc cD cPsi h conv_list in
50 |      let tS' = strans_spine cD cPsi (tS, s) conv_list in
51 |      LF.Root (loc, h', tS', plicity)
52 |   | LF.LFHole _ -> tM
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _|Tuple (_, _))

File "src/core/convSigma.ml", lines 55-101, characters 2-8:
 55 | ..match h with
 56 |   | LF.BVar x -> LF.BVar (map conv_list x)
 57 | 
 58 |   | LF.MVar (LF.Offset u, sigma) ->
 59 |      LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list)
...
 98 |          LF.BVar x'
 99 |        with
100 |        | _ -> LF.Proj (LF.BVar x, j)
101 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Proj
  ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
   HClo (_, _, _)|HMClo (_, _)),
  _)

File "src/core/convSigma.ml", lines 112-118, characters 2-26:
112 | ..match mf with
113 |   | LF.ClObj (phat, LF.MObj tM) ->
114 |      LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list ))
115 |   | LF.ClObj (phat, LF.PObj h) ->
116 |      LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list))
117 |   | LF.MV u -> LF.MV u
118 |   | LF.MUndef -> LF.MUndef
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/convSigma.ml", lines 121-123, characters 2-55:
121 | ..function
122 |   | (0, xs) -> n
123 |   | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1, [])

File "src/core/convSigma.ml", lines 163-170, characters 2-59:
163 | ..match tA with
164 |   | LF.Atom (loc, a, tS ) ->
165 |      LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list )
166 | 
167 |   | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) ->
168 |      let tA' = strans_typ cD cPsi (tA, s) conv_list in
169 |      let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in
170 |      LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/convSigma.ml", lines 384-432, characters 2-24:
384 | ..match Whnf.whnfTyp sA with
385 |   | LF.Sigma tRec as tA, s ->
386 |      (* FIXME: this doesn't do any strengthening !! -je *)
387 |      let tH =
388 |        mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s)
...
429 |      let tN =
430 |        etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names)
431 |      in
432 |      LF.Lam (loc, x, tN)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Prettyint.cmx -c -impl src/core/prettyint.ml)
File "src/core/prettyint.ml", lines 237-294, characters 4-39:
237 | ....function
238 |     | LF.Atom (_, a, LF.Nil) ->
239 |        fprintf ppf "%s"
240 |          (R.render_cid_typ a)
241 | 
...
291 |     | LF.TClo (typ, s) ->
292 |        fprintf ppf "TClo(%a,@ %a)"
293 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
294 |          (fmt_ppr_lf_sub cD cPsi lvl) s
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/prettyint.ml", lines 434-545, characters 6-51:
434 | ......function
435 |       | LF.HClo (h, s, sigma) ->
436 |          fprintf ppf "%s[%a[%a]]"
437 |            (R.render_bvar cPsi h)
438 |            (fmt_ppr_lf_offset cD) s
...
542 |            (r_paren_if (paren s))
543 | 
544 |       | LF.Proj (head, k) ->
545 |          fmt_head_with ("." ^ string_of_int k) head
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
AnnH (_, _)

File "src/core/prettyint.ml", lines 769-771, characters 7-52:
769 | .......match LF.(v.typ) with
770 |        | LF.ClTyp (_, cPsi) ->
771 |           fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/prettyint.ml", lines 785-794, characters 7-10:
785 | .......begin match !g with
786 |        | None ->
787 |           fprintf ppf "?%a[%a]"
788 |             Name.pp LF.(v.name)
789 |             (fmt_ppr_lf_msub cD 0) theta
790 | 
791 |        | Some (LF.ICtx cPsi) ->
792 |           fprintf ppf "%a"
793 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
794 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/prettyint.ml", lines 878-890, characters 4-38:
878 | ....function
879 |     | LF.Null -> ()
880 | 
881 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
882 |        fprintf ppf "%a : %a"    (* formerly "., %s : %a"    -jd 2010-06-03 *)
...
887 |        fprintf ppf "%a, %a : %a"
888 |          (ppr_typ_decl_dctx cD) cPsi
889 |          Name.pp x
890 |          (fmt_ppr_lf_typ cD cPsi 0) tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/prettyint.ml", lines 974-1006, characters 4-26:
 974 | ....function
 975 |     | LF.Typ ->
 976 |        fprintf ppf "type"
 977 | 
 978 |     | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) ->
...
1003 |          (l_paren_if cond)
1004 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
1005 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
1006 |          (r_paren_if cond)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)

File "src/core/prettyint.ml", lines 1097-1109, characters 4-40:
1097 | ....function
1098 |     | LF.Queued id ->
1099 |        fprintf ppf "@[QUEUED %d@]" id
1100 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
1101 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
...
1106 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
1107 |          id
1108 |          (fmt_ppr_lf_head cD cPsi l0) h1
1109 |          (fmt_ppr_lf_head cD cPsi l0) h2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))

File "src/core/prettyint.ml", lines 1147-1228, characters 4-39:
1147 | ....function
1148 |     | Comp.TypBase (_, c, mS)->
1149 |        let cond = lvl > 10 in
1150 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
1151 |          (l_paren_if cond)
...
1225 |          fprintf ppf "@[%a@]*"
1226 |            (fmt_ppr_cmp_typ cD 10) tau
1227 |        else
1228 |          fmt_ppr_cmp_typ cD lvl ppf tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDef (_, _, _)

File "src/core/prettyint.ml", lines 1236-1241, characters 4-48:
1236 | ....function
1237 |     | Comp.PatNil -> fprintf ppf ""
1238 |     | Comp.PatApp (_, pat, pat_spine) ->
1239 |        fprintf ppf "@[%a@]@ @[%a@]"
1240 |          (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat
1241 |          (fmt_ppr_pat_spine cD cG lvl) pat_spine
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)

File "src/core/prettyint.ml", lines 1245-1248, characters 6-65:
1245 | ......match (ms, n) with
1246 |       | (_, 0) -> ms
1247 |       | (Comp.PatNil, _) -> ms
1248 |       | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatObs (_, _, _, _), 1)

File "src/core/prettyint.ml", lines 1507-1550, characters 4-26:
1507 | ....function
1508 |     | Comp.FunValue _ -> fprintf ppf " fn "
1509 |     | Comp.ThmValue _ -> fprintf ppf " rec "
1510 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
1511 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
...
1547 |        fprintf ppf "%s%s%a%s"
1548 |          (l_paren_if cond)
1549 |          (R.render_cid_comp_const c) print_spine pat_spine
1550 |          (r_paren_if cond)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
FnValue (_, _, _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Apxnorm.cmx -c -impl src/core/apxnorm.ml)
File "src/core/apxnorm.ml", lines 44-49, characters 2-33:
44 | ..function
45 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m')
46 |   | Apx.LF.Root (loc, h , spine) ->
47 |      let h' = shiftApxHead k h in
48 |      let spine' = shiftApxSpine k spine in
49 |      Apx.LF.Root(loc, h', spine')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(LFHole (_, _)|Tuple (_, _)|Ann (_, _, _))

File "src/core/apxnorm.ml", lines 70-80, characters 2-35:
70 | ..function
71 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
72 |   | Apx.LF.Id -> Apx.LF.Id
73 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
74 |      let h' = shiftApxHead k h in
...
77 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
78 |      let m' = shiftApxTerm k m in
79 |      let s' = shiftApxSub k s in
80 |      Apx.LF.Dot (Apx.LF.Obj m', s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(SVar (_, _)|FSVar (_, _))

File "src/core/apxnorm.ml", lines 126-128, characters 4-49:
126 | ....match (l_delta, t) with
127 |     | (0, t) -> t
128 |     | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1, MShift _)

File "src/core/apxnorm.ml", lines 134-151, characters 6-36:
134 | ......match Substitution.LF.applyMSub offset t with
135 |       | Int.LF.MV u -> Apx.LF.Offset u
136 |       | Int.LF.ClObj (_, clobj) ->
137 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
138 |          dprintf
...
148 |            end;
149 |          let t' = drop t l_delta in
150 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
151 |          Apx.LF.MInst (clobj, mtyp')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|CObj _)

File "src/core/apxnorm.ml", lines 267-276, characters 7-10:
267 | .......begin match Substitution.LF.applyMSub offset t with
268 |        | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) ->
269 |           Apx.LF.CtxVar (Apx.LF.CtxOffset psi0)
270 |        | Int.LF.CObj Int.LF.Null ->
271 |           Apx.LF.Null
272 |        | Int.LF.CObj (Int.LF.DDec _) ->
273 |           raise (Error (loc, CtxOverGeneral))
274 |        (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *)
275 |        | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset')
276 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CObj (CtxVar (CtxName _|CInst _))

File "src/core/apxnorm.ml", lines 288-355, characters 2-27:
288 | ..match e with
289 |   | Apx.Comp.Fn (loc, f, e) ->
290 |      Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt)
291 |   | Apx.Comp.Fun (loc, fbr) ->
292 |      Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt)
...
352 | 
353 |   | Apx.Comp.Var _
354 |     | Apx.Comp.DataConst _
355 |     | Apx.Comp.Const _ -> e
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ann (_, _, _)

File "src/core/apxnorm.ml", lines 388-392, characters 4-63:
388 | ....function
389 |     | Apx.LF.Empty -> cD''
390 |     | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) ->
391 |        let cD1'' = append_mctx cD'' delta2' in
392 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (delta2', DeclOpt _)

File "src/core/apxnorm.ml", lines 421-431, characters 2-27:
421 | ..function
422 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
423 | 
424 |   | Apx.LF.Root (_, h, s) ->
425 |      let fMVs' = collectApxHead fMVs h in
...
428 |   | Apx.LF.Tuple (_, tuple) ->
429 |      collectApxTuple fMVs tuple
430 | 
431 |   | Apx.LF.LFHole _ -> fMVs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ann (_, _, _)

File "src/core/apxnorm.ml", lines 502-503, characters 27-22:
502 | ...........................(Apx.LF.TypDecl (_, a))=
503 |   collectApxTyp fMVs a
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/apxnorm.ml", lines 530-538, characters 2-44:
530 | ..function
531 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
532 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
533 |      let fMVs' = collectApxDCtx fMVs c_psi in
534 |      collectApxTyp fMVs' a
535 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
536 |      let fMVs' = collectApxDCtx fMVs c_psi in
537 |      collectApxDCtx fMVs' c_phi
538 |   | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/apxnorm.ml", lines 556-563, characters 2-31:
556 | ..function
557 |   | Apx.LF.Atom (loc, c, tS) ->
558 |      collectApxSpine fMVd tS
559 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) ->
560 |      let fMVd1 = collectApxTyp fMVd tA in
561 |      collectApxTyp fMVd1 tB
562 |   | Apx.LF.Sigma trec ->
563 |      collectApxTypRec fMVd trec
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/apxnorm.ml", lines 573-581, characters 2-45:
573 | ..function
574 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
575 |      let fMVd1 = collectApxDCtx fMVd cPsi in
576 |      collectApxDCtx fMVd1 cPhi
577 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
578 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
579 |      let fMVd1 = collectApxDCtx fMVd cPsi in
580 |      collectApxTyp fMVd1 tA
581 |   | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/apxnorm.ml", lines 584-603, characters 2-32:
584 | ..function
585 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
586 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
587 |      collectApxCompTyp fMVd1 tau2
588 |   | Apx.Comp.TypCross (_, taus) ->
...
600 |      let fMVd1 = collectApxDCtx fMVd cPsi in
601 |      collectApxDCtx fMVd1 cPhi
602 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
603 |      collectApxMetaSpine fMVd mS
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypBox (_, (_, CTyp _))

File "src/core/apxnorm.ml", lines 606-618, characters 2-32:
606 | ..function
607 |   | Apx.Comp.PatMetaObj (loc, mO) ->
608 |      collectApxMetaObj fMVd mO
609 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
610 |      collectApxPatSpine fMVd pat_spine
...
615 |      |> List.fold_left collectApxPattern fMVd
616 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
617 |      let fMVd1 = collectApxCompTyp fMVd tau in
618 |      collectApxPattern fMVd1 pat
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatFVar (_, _)

File "src/core/apxnorm.ml", lines 836-886, characters 2-33:
836 | ..function
837 |   | Apx.Comp.Fn (loc, f, e) ->
838 |      Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e)
839 | 
840 |   | Apx.Comp.Fun (loc, fbr) ->
...
883 | 
884 |   | Apx.Comp.Var _
885 |     | Apx.Comp.DataConst _
886 |     | Apx.Comp.Const _ as  i -> i
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ann (_, _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Abstract.cmx -c -impl src/core/abstract.ml)
File "src/core/abstract.ml", lines 253-257, characters 4-47:
253 | ....function
254 |     | I.Atom _ -> (k, tS)
255 |     | I.PiTyp (_, tA') ->
256 |        let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in
257 |        etaExpSpine (k + 1) (I.App (tN, tS)) tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/abstract.ml", lines 260-263, characters 4-49:
260 | ....match tA with
261 |     | I.Atom _ -> tM
262 |     | I.PiTyp ((I.TypDecl (x, _), _, _), tA') ->
263 |        I.Lam (loc, x, etaExpPrefix loc (tM, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/abstract.ml", lines 267-269, characters 4-19:
267 | ....match h with
268 |     | I.BVar x -> I.BVar (x + k - 1)
269 |     | I.FVar _ -> h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/abstract.ml", lines 317-332, characters 2-17:
317 | ..function
318 |   | I.Empty -> I.Empty
319 | 
320 |   | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) ->
321 |      begin match raiseType cPsi tA with
...
329 |      I.Dec (ctxToCtx cQ', I.TypDecl (x, tA))
330 | 
331 |   | I.Dec (cQ', FDecl (_, Impure)) ->
332 |      ctxToCtx cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec
  (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))

File "src/core/abstract.ml", lines 336-355, characters 2-20:
336 | ..function
337 |   | I.Empty -> I.Empty
338 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
339 |      let plicity' = f plicity in
340 |      let cQ'' = ctxToMCtx f cQ' in
...
352 |   | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))->
353 |      Error.raise_violation "Free variables in computation-level reconstruction."
354 |   | I.Dec (cQ', FDecl (_, Impure)) ->
355 |      ctxToMCtx f cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))

File "src/core/abstract.ml", lines 358-365, characters 2-76:
358 | ..function
359 |   | I.Empty -> I.Empty
360 |   | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) ->
361 |      let cQ'' = mctxToCtx cQ' in
362 |      I.Dec (cQ'', CtxV (x, w, plicity, inductivity))
363 |   | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) ->
364 |      let cQ'' = mctxToCtx cQ' in
365 |      I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cQ', DeclOpt _)

File "src/core/abstract.ml", lines 368-384, characters 2-32:
368 | ..function
369 |   | I.Empty -> I.Empty
370 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) ->
371 |      let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in
372 |      I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive })
...
381 |      I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity })
382 | 
383 |   | I.Dec (cQ', FDecl (_, Impure)) ->
384 |      ctxToMCtx_pattern names cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (FV _, Pure (LFTyp _)))

File "src/core/abstract.ml", lines 409-421, characters 2-35:
409 | ..function
410 |   | (I.Lam (loc, x, tM), s) ->
411 |      let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in
412 |      (cQ', I.Lam (loc, x, tM'))
413 |   | (I.Tuple (loc, tuple), s) ->
...
418 |      let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in
419 |      (cQ'', I.Root (loc, h', tS', plicity))
420 |   | (I.LFHole (loc, id, name), s) ->
421 |      (cQ, I.LFHole (loc, id, name))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _, _)

File "src/core/abstract.ml", lines 481-485, characters 7-49:
481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in
482 |        let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in
483 |        if !pat_flag
484 |        then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive)
485 |        else MetaTyp (mtyp', plicity, inductivity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, DeclOpt _)

File "src/core/abstract.ml", lines 512-517, characters 10-11:
512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) =
513 |             addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity))
514 |           in
515 |           ( cQ'
516 |           , I.{ v with typ; plicity; inductivity }
517 |           )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cQ', LFTyp _)

File "src/core/abstract.ml", lines 615-652, characters 2-26:
615 | ..function
616 |   | (I.BVar _ as head, _)
617 |     | (I.Const _ as head, _) -> (cQ, head)
618 | 
619 |   | (I.FVar name, _) ->
...
649 | 
650 |   | (I.Proj (head, j), s) ->
651 |      let (cQ', h') = collectHead k cQ phat loc (head, s) in
652 |      (cQ', I.Proj (h', j))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)

File "src/core/abstract.ml", lines 656-671, characters 2-27:
656 | ..function
657 |   | (I.Atom (loc, a, tS), s) ->
658 |      let (cQ', tS') = collectSpine p cQ phat (tS, s) in
659 |      (cQ', I.Atom (loc, a, tS'))
660 | 
...
668 | 
669 |   | (I.Sigma typRec, s) ->
670 |      let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in
671 |      (cQ', I.Sigma typRec')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 686-691, characters 2-66:
686 | ..function
687 |   | (I.Typ, _) -> (cQ, I.Typ)
688 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
689 |      let (cQ', tA') = collectTyp p cQ phat (tA, s) in
690 |      let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in
691 |      (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 759-761, characters 22-38:
759 | ......................(I.Decl d) =
760 |   let (cQ', mtyp') = collectMTyp p cQ d.typ in
761 |   (cQ', I.Decl { d with typ = mtyp' })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/abstract.ml", lines 784-790, characters 2-8:
784 | ..function
785 |   | (I.Typ, _) -> I.Typ
786 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
787 |      I.PiKind
788 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
789 |        , abstractKind cQ (offset + 1) (tK, LF.dot1 s)
790 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 795-803, characters 2-8:
795 | ..function
796 |   | (I.Atom (loc, a, tS), s (* id *)) ->
797 |      I.Atom (loc, a, abstractSpine cQ offset (tS, s))
798 | 
799 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
800 |      I.PiTyp
801 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
802 |        , abstractTyp cQ (offset + 1) (tB, LF.dot1 s)
803 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 818-843, characters 2-8:
818 | ..function
819 |   | (I.Lam (loc, x, tM), s) ->
820 |      I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s))
821 | 
822 |   | ( I.(Root
...
840 |        , abstractHead cQ offset tH
841 |        , abstractSpine cQ offset (tS, s)
842 |        , plicity
843 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((LFHole (_, _, _)|Clo _|Tuple (_, _)), _)

File "src/core/abstract.ml", lines 846-851, characters 2-59:
846 | ..function
847 |   | I.BVar _ as tH -> tH
848 |   | I.Const _ as tH -> tH
849 |   | I.FVar n -> I.BVar (index_of cQ (FV n) + offset)
850 |   | I.AnnH _ ->
851 |      Error.raise_not_implemented "[abstractHead] AnnH case"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)|
HMClo (_, _))

File "src/core/abstract.ml", lines 855-869, characters 2-85:
855 | ..match (s, cPsi) with
856 |   | (I.Shift _, I.Null) -> tS
857 |   | (I.Shift k, I.DDec _) ->
858 |      subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS
859 | 
...
866 |     (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *)
867 | 
868 |   | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) ->
869 |      subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Shift _, CtxVar _)

File "src/core/abstract.ml", lines 880-894, characters 2-48:
880 | ..function
881 |   | I.Empty -> I.Empty
882 |   | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ
883 |   | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) ->
884 |      let cQ' = abstractCtx cQ in
...
891 |   | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) ->
892 |      let cQ' = abstractCtx cQ in
893 |      let tA' = abstractTyp cQ 0 (tA, LF.id) in
894 |      I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA')))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec
  (_,
  FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))

File "src/core/abstract.ml", lines 900-906, characters 2-39:
900 | ..match cPsi with
901 |   | I.Null -> I.Null
902 |   | I.CtxVar psi -> cPsi
903 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
904 |      let cPsi' = abstractDctx cQ cPsi (l - 1) in
905 |      let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in
906 |      I.DDec (cPsi', I.TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/abstract.ml", lines 930-940, characters 2-20:
930 | ..function
931 |   | (I.Atom (loc, a, tS), s (* id *)) ->
932 |      I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s))
933 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
934 |      I.PiTyp
...
937 |        )
938 |   | (I.Sigma typRec, s) ->
939 |      let typRec' = abstractMVarTypRec cQ offset (typRec, s) in
940 |      I.Sigma typRec'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/abstract.ml", lines 954-962, characters 2-29:
954 | ..function
955 |   | (I.Lam (loc, x, tM), s) ->
956 |      I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s))
957 |   | (I.Tuple (loc, tuple), s) ->
958 |      I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s))
959 |   | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) ->
960 |      I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity)
961 |   | (I.LFHole (loc, id, name), s) ->
962 |      I.LFHole (loc, id, name)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _, _)

File "src/core/abstract.ml", lines 1000-1036, characters 2-46:
1000 | ..function
1001 |   | I.BVar _ as mH -> mH
1002 |   | I.Const _ as mH -> mH
1003 | 
1004 |   | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns)
...
1033 |      Error.raise_not_implemented "[abstractMVarHead] AnnH case"
1034 | 
1035 |   | I.Proj (head, k) ->
1036 |      I.Proj (abstractMVarHead cQ loff head, k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(FVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/abstract.ml", lines 1091-1097, characters 2-39:
1091 | ..function
1092 |   | I.Null -> I.Null
1093 |   | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv)
1094 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
1095 |      let cPsi' = abstractMVarDctx cQ loff cPsi in
1096 |      let tA' = abstractMVarTyp cQ loff (tA, LF.id) in
1097 |      I.DDec (cPsi', I.TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/abstract.ml", lines 1110-1112, characters 30-31:
1110 | ..............................(I.Decl d) =
1111 |   let mtyp' = abstractMVarMTyp cQ d.typ loff in
1112 |   I.Decl { d with typ = mtyp' }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/abstract.ml", lines 1121-1138, characters 2-58:
1121 | ..match cQ with
1122 |   | I.Empty -> I.Empty
1123 |   | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
1124 |      let cQ' = abstractMVarCtx cQ (l - 1) in
1125 |      I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity))))
...
1135 |       * is it ever hit on correct code?  -jd 2009-02-12
1136 |       * No. This case should not occur in correct code - bp
1137 |       *)
1138 |      raise (Error (Name.location name, UnknownIdentifier))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (MMV _, Pure (LFTyp _)))

File "src/core/abstract.ml", lines 1150-1154, characters 2-20:
1150 | ..function
1151 |   | I.ClObj (phat, tM) ->
1152 |      I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM)
1153 |   | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi)
1154 |   | I.MV k -> I.MV k
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MUndef

File "src/core/abstract.ml", lines 1167-1179, characters 4-21:
1167 | ....function
1168 |     | I.Empty -> I.Empty
1169 |     | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
1170 |        let cQ'' = ctxToMCtx' cQ' in
1171 |        I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity })
...
1176 |        let cQ'' = ctxToMCtx' cQ' in
1177 |        I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity })
1178 |     | I.Dec (cQ', FDecl (_, Impure)) ->
1179 |        ctxToMCtx' cQ'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, FDecl (FV _, Pure (LFTyp _)))

File "src/core/abstract.ml", lines 1208-1217, characters 2-8:
1208 | ..match cQ with
1209 |   | Int.LF.Empty -> (tA', 0)
1210 |   | Int.LF.Dec (_, FDecl (s, _)) ->
1211 |      let cQ' = abstractCtx cQ in
1212 |      let tA2 = abstractTyp cQ' 0 (tA', LF.id) in
1213 |      let cPsi = ctxToCtx cQ' in
1214 |      begin match raiseType' cPsi tA2 with
1215 |      | (None, tA3) -> (tA3, length' cPsi)
1216 |      | _ -> raise (Error (Location.ghost, LeftoverVars))
1217 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, CtxV _)

File "src/core/abstract.ml", lines 1246-1287, characters 2-28:
1246 | ..function
1247 |   | Comp.TypBase (loc, a, ms) ->
1248 |      let (cQ', ms') = collect_meta_spine p cQ ms in
1249 |      (cQ', Comp.TypBase (loc, a, ms'))
1250 |   | Comp.TypCobase (loc, a, ms) ->
...
1284 | 
1285 |   | Comp.TypInd tau ->
1286 |      let (cQ', tau') = collectCompTyp p cQ tau in
1287 |      (cQ', Comp.TypInd tau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDef (_, _, _)

File "src/core/abstract.ml", lines 1291-1296, characters 2-54:
1291 | ..function
1292 |   | I.Empty -> (cQ, I.Empty)
1293 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
1294 |      let (cQ1, cG') = collectGctx cQ cG in
1295 |      let (cQ2, tau') = collectCompTyp 0 cQ1 tau in
1296 |      (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/abstract.ml", lines 1463-1489, characters 2-52:
1463 | ..function
1464 |   | Comp.TypBase (loc, a, cS) ->
1465 |      let cS' = abstractMVarMetaSpine cQ offset cS in
1466 |      Comp.TypBase (loc, a, cS')
1467 |   | Comp.TypCobase (loc, a, cS) ->
...
1486 |        )
1487 | 
1488 |   | Comp.TypInd tau ->
1489 |      Comp.TypInd (abstractMVarCompTyp cQ offset tau)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _)|TypClo (_, _))

File "src/core/abstract.ml", lines 1492-1497, characters 2-47:
1492 | ..function
1493 |   | I.Empty -> I.Empty
1494 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
1495 |      let cG' = abstractMVarGctx cQ offset cG in
1496 |      let tau' = abstractMVarCompTyp cQ offset tau in
1497 |      I.Dec (cG', Comp.CTypDecl (x, tau', flag))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/abstract.ml", lines 1698-1700, characters 4-48:
1698 | ....match (p, cD) with
1699 |     | (0, _) -> cD
1700 |     | (_, I.Dec (cD', decl)) -> drop (p - 1) cD'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1, Empty)

File "src/core/abstract.ml", lines 1722-1724, characters 8-24:
1722 | ........let I.Dec (cD1', decl) = cD1 in
1723 |         let cD = subtract cD1' cD2 in
1724 |         I.Dec (cD, decl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/abstract.ml", lines 1785-1789, characters 2-24:
1785 | ..function
1786 |   | I.Null -> cPsi1
1787 |   | I.DDec (cPsi2', dec) ->
1788 |      let cPsi1' = appDCtx cPsi1 cPsi2' in
1789 |      I.Dec (cPsi1', dec)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Unify.cmx -c -impl src/core/unify.ml)
File "src/core/unify.ml", lines 163-195, characters 30-70:
163 | ..............................(Atom (_, a, _) as tP, s) =
164 |     dprintf
165 |       begin fun p ->
166 |       p.fmt "@[<v 6>[genMMVarstr] of type @[%a@]@,in context cPsi = @[%a@]@]"
167 |         (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tP, s))
...
192 |          cPsi |- s_proj : cPhi
193 |          cPsi |- comp  ss' s_proj   : cPhi' *)
194 |     let ss_proj = Substitution.LF.comp ss' s_proj in
195 |     Root (loc, MMVar ((u, Whnf.m_id), ss_proj), Nil, Plicity.explicit)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)

File "src/core/unify.ml", lines 575-585, characters 6-9:
575 | ......begin match applyMSub k ms with
576 |       | MUndef ->
577 |          (* Psi1, x:tA |- s' <= Psi2 *)
578 |          (Whnf.mcomp mt' (MShift 1), cD2)
579 | 
...
582 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
583 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
584 |          (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity }))
585 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 566-590, characters 4-38:
566 | ....match (t, cD1) with
567 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
568 | 
569 |    | (MShift k, Dec _) ->
570 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
...
587 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
588 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
589 |       (* cD1 |- mt' <= cD2 *)
590 |       (Whnf.mcomp mt' (MShift 1), cD2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MDot (MV k, mt), Dec (cD1, DeclOpt _))

File "src/core/unify.ml", lines 810-819, characters 7-10:
810 | .......begin match applyMSub u ms with
811 |        | MV v ->
812 |           Root
813 |             ( loc
814 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
815 |             , Nil
816 |             , plicity
817 |             )
818 |        | MUndef -> raise NotInvertible
819 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 822-830, characters 7-46:
822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
823 |        let d = Context.length cD0 - Context.length cD_d in
824 |        let cPsi1 =
825 |          if d = 0
826 |          then cPsi1
827 |          else Whnf.cnormDCtx (cPsi1, MShift d)
828 |        in
829 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
830 |        Root (loc, FMVar (u, s'), Nil, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=CTyp _; _ })

File "src/core/unify.ml", lines 833-841, characters 7-46:
833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in
834 |        let d = Context.length cD0 - Context.length cD_d in
835 |        let cPsi1 =
836 |          if d = 0
837 |          then cPsi1
838 |          else Whnf.cnormDCtx (cPsi1, MShift d)
839 |        in
840 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
841 |        Root (loc, FPVar (p, s'), Nil, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=CTyp _; _ })

File "src/core/unify.ml", lines 846-850, characters 7-10:
846 | .......begin match applyMSub p ms with
847 |        | MV q ->
848 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
849 |        | MUndef -> raise NotInvertible
850 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 747-862, characters 4-62:
747 | ....match sM with
748 |     | (Lam (loc, x, tM), s) ->
749 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
750 | 
751 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
...
859 |          )
860 | 
861 |     | (Tuple (loc, trec), s) ->
862 |        Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((LFHole (_, _, _)|Clo _), _)

File "src/core/unify.ml", lines 888-891, characters 7-10:
888 | .......begin match bvarSub k ssubst with
889 |        | Undef -> raise NotInvertible
890 |        | Head (BVar k') -> BVar k'
891 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 894-897, characters 7-10:
894 | .......begin match bvarSub k ssubst with
895 |        | Head (BVar _ as head) -> head
896 |        | Undef -> raise NotInvertible
897 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 932-936, characters 7-10:
932 | .......begin match applyMSub u ms with
933 |        | MV v ->
934 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
935 |        | MUndef -> raise NotInvertible
936 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 940-944, characters 7-10:
940 | .......begin match applyMSub p ms with
941 |        | MV q ->
942 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
943 |        | MUndef -> raise NotInvertible
944 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 948-952, characters 7-10:
948 | .......begin match applyMSub p ms with
949 |        | MV q ->
950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
951 |        | MUndef -> raise NotInvertible
952 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 886-952, characters 4-10:
886 | ....match head with
887 |     | BVar k ->
888 |        begin match bvarSub k ssubst with
889 |        | Undef -> raise NotInvertible
890 |        | Head (BVar k') -> BVar k'
...
949 |        | MV q ->
950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
951 |        | MUndef -> raise NotInvertible
952 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Proj
  ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
   FPVar _|HClo (_, _, _)|HMClo (_, _)),
  _)

File "src/core/unify.ml", lines 956-959, characters 4-46:
956 | ....function
957 |     | Undefs -> raise (Failure "Variable dependency")
958 |     | Shift k -> Shift (n + k)
959 |     | Dot (ft, ss') -> shiftInvSub (n - 1) ss'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/unify.ml", lines 981-985, characters 9-40:
981 | .........match applyMSub s ms with
982 |          | MV v ->
983 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
984 |             (v, cPhi, cPsi')
985 |          | MUndef -> raise NotInvertible
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1024-1030, characters 7-10:
1024 | .......begin match applyMSub s ms with
1025 |        | MV v ->
1026 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
1027 |           (* applyMSub to ctx_offset ? *)
1028 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
1029 |        | MUndef -> raise NotInvertible
1030 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1033-1034, characters 7-64:
1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in
1034 |        FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=ClTyp (STyp (Ren, _), _); _ })

File "src/core/unify.ml", lines 1063-1069, characters 4-74:
1063 | ....match (mt, cD1) with
1064 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
1065 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) ->
1066 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
1067 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
1068 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
1069 |        MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MDot (mobj, mt'), Empty)

File "src/core/unify.ml", lines 1072-1080, characters 4-90:
1072 | ....match mobj with
1073 |     | MV n ->
1074 |        begin match applyMSub n ms with
1075 |        | MUndef -> raise NotInvertible
1076 |        | ft -> ft
1077 |        end
1078 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
1079 |     | CObj cPsi -> Error.raise_violation "Not implemented"
1080 |     | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/unify.ml", lines 1152-1154, characters 7-80:
1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Shift 1

File "src/core/unify.ml", lines 1124-1154, characters 4-80:
1124 | ....match sM with
1125 |     | (LFHole _ as n, _) -> n
1126 |     | (Lam (loc, x, tM), s) ->
1127 |        dprintf
1128 |          begin fun p ->
...
1151 |     | (Root (loc, head, tS, plicity), s) ->
1152 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Clo _, _)

File "src/core/unify.ml", lines 1173-1184, characters 4-9:
1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
1174 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
1175 |     then raise (Failure "Variable occurrence")
1176 |     else
1177 |       begin
...
1181 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
1182 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
1183 |         ((v, mr), r)
1184 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1187-1199, characters 4-37:
1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
1188 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
1189 |     then raise (Failure "Variable occurrence")
1190 |     else
1191 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
...
1196 |         , Root (loc, MVar (v, idsub), Nil, Plicity.explicit)
1197 |         , mmvar.constraints.contents
1198 |         );
1199 |       (v, comp (comp idsub t) ssubst)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 1202-1211, characters 3-10:
1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
1203 |    let d = Context.length cD0 - Context.length cD_d in
1204 |    let cPsi1 =
1205 |      if d = 0
1206 |      then cPsi1
1207 |      else Whnf.cnormDCtx (cPsi1, MShift d)
1208 |    in
1209 |    let t' = simplifySub cD0 cPsi t in
1210 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
1211 |    (u, s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=CTyp _; _ })

File "src/core/unify.ml", lines 1216-1219, characters 7-14:
1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
1217 |        let t' = simplifySub cD0 cPsi t in
1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
1219 |        (v, s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, CTyp _)

File "src/core/unify.ml", lines 1214-1220, characters 4-63:
1214 | ....match applyMSub u ms with
1215 |     | MV v ->
1216 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
1217 |        let t' = simplifySub cD0 cPsi t in
1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
1219 |        (v, s')
1220 |     | MUndef -> raise (Failure "[Prune] Bound MVar dependency")
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1246-1254, characters 7-10:
1246 | .......begin match bvarSub k ssubst with
1247 |        | Undef ->
1248 |           let s =
1249 |             Format.asprintf "[Prune] Bound variable dependency : head = %a"
1250 |               (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head
1251 |           in
1252 |           raise (Failure s)
1253 |        | Head (BVar _ as h') -> h'
1254 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1223-1258, characters 4-11:
1223 | ....match head with
1224 |     | MMVar ((i, mt), t) ->
1225 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
1226 |     | MVar (Inst i, t) ->
1227 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
...
1255 | 
1256 |     | Const _
1257 |       | FVar _ ->
1258 |        head
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(AnnH (_, _)|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1293-1317, characters 4-57:
1293 | ....match (s, cPsi1) with
1294 |     | (EmptySub, Null) -> EmptySub
1295 |     | (Undefs, Null) -> EmptySub
1296 |     | (Shift n, DDec _) ->
1297 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
...
1314 | 
1315 |     | (Dot _, _)
1316 |       | (EmptySub, _)
1317 |       -> Error.raise_violation "Badly typed substitution"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Undefs, (CtxVar _|DDec (_, _)))

File "src/core/unify.ml", lines 1321-1323, characters 4-70:
1321 | ....match ft with
1322 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
1323 |     | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Undef

File "src/core/unify.ml", lines 1354-1357, characters 9-59:
1354 | .........function
1355 |          | Undefs -> (EmptySub, Null)
1356 |          | Shift k -> (id, CtxVar psi)
1357 |          | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/unify.ml", lines 1370-1374, characters 9-40:
1370 | .........match applyMSub s mt with
1371 |          | MV v ->
1372 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
1373 |             cPsi'
1374 |          | MUndef -> raise NotInvertible
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ClObj (_, _)|CObj _)

File "src/core/unify.ml", lines 1387-1390, characters 7-18:
1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
1388 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
1389 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
1390 |        (id, cPsi1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|PTyp _), _)

File "src/core/unify.ml", lines 1398-1400, characters 7-18:
1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in
1399 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
1400 |        (id, cPsi1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })

File "src/core/unify.ml", lines 1407-1426, characters 7-10:
1407 | .......begin match bvarSub n ssubst with
1408 |        | Undef ->
1409 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
1410 |           (comp s1' shift, cPsi1')
1411 | 
...
1423 |           in
1424 |           (* cPsi1' |- s1_i <= cPsi' *)
1425 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
1426 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1431-1448, characters 7-10:
1431 | .......begin match bvarSub n ssubst with
1432 |        | Undef ->
1433 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
1434 |           (comp s1' shift, cPsi1')
1435 | 
...
1445 |           in
1446 |           (* cPsi1' |- s1_i <= cPsi' *)
1447 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
1448 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1343-1471, characters 4-31:
1343 | ....match (s, cPsi1) with
1344 |     | (Shift n, DDec _) ->
1345 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
1346 |     | (Shift _, Null)
1347 |       | (EmptySub, Null)
...
1468 | 
1469 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
1470 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
1471 |        (comp s1' shift, cPsi1')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub, (CtxVar _|DDec (_, _)))

File "src/core/unify.ml", lines 1474-1487, characters 4-21:
1474 | ....match sA with
1475 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
1476 |     | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) ->
1477 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
1478 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
...
1484 | 
1485 |     | (Sigma typ_rec, s) ->
1486 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
1487 |        Sigma typ_rec'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TClo _, _)

File "src/core/unify.ml", lines 1504-1507, characters 7-10:
1504 | .......begin match applyMSub psi ms with
1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
1506 |        | MV k -> CtxVar (CtxOffset k)
1507 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MUndef|ClObj (_, _))

File "src/core/unify.ml", lines 1510-1514, characters 7-10:
1510 | .......begin match mmvar.instantiation.contents with
1511 |        | None -> cPsi
1512 |        | Some (ICtx cPhi) ->
1513 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
1514 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/unify.ml", lines 1501-1529, characters 4-37:
1501 | ....match cPsi with
1502 |     | Null -> Null
1503 |     | CtxVar (CtxOffset psi) ->
1504 |        begin match applyMSub psi ms with
1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
...
1526 |            (ms, Substitution.LF.id)
1527 |            rOccur
1528 |        in
1529 |        DDec (cPsi', TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/unify.ml", lines 1574-1583, characters 7-10:
1574 | .......begin match bvarSub k ssubst with
1575 |        | Undef ->
1576 |           (* Psi1, x:tA |- s' <= Psi2 *)
1577 |           (comp s' shift, cPsi2)
1578 | 
1579 |        | Head (BVar _) ->
1580 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
1581 |                   A = [s']([s']^-1 A) *)
1582 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
1583 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1590-1599, characters 7-10:
1590 | .......begin match bvarSub k ssubst with
1591 |        | Undef ->
1592 |           (* Psi1, x:tA |- s' <= Psi2 *)
1593 |           (comp s' shift, cPsi2)
1594 | 
1595 |        | Head (BVar _) ->
1596 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
1597 |                   A = [s']([s']^-1 A) *)
1598 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
1599 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
  FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/unify.ml", lines 1551-1604, characters 4-29:
1551 | ....match (t, cPsi1) with
1552 |     | (EmptySub, Null)
1553 |       | (Undefs, Null)
1554 |       | (Shift _, Null) ->
1555 |        (id, Null)
...
1601 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
1602 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
1603 |        (* sP1 |- s' <= cPsi2 *)
1604 |        (comp s' shift, cPsi2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub, (CtxVar _|DDec (_, _)))

File "src/core/unify.ml", lines 1646-1651, characters 4-56:
1646 | ....match (sTup1, sTup2) with
1647 |     | ((Last tM, s1), (Last tN, s2)) ->
1648 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
1649 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
1650 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
1651 |         unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Last tM, s1), (Cons (_, _), _))

File "src/core/unify.ml", lines 1654-1680, characters 4-9:
1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in
1655 |     if isId t1'
1656 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
1657 |     else
1658 |       begin
...
1677 |            (* This might actually need to add a constraint, in which case
1678 |            "NotInvertible" seems the wrong kind of exception... *)
1679 |            Error.raise_violation "Unification violation"
1680 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1694-1705, characters 9-35:
1694 | .........match Whnf.whnfTyp sA with
1695 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
1696 |             (* cPsi' |- Pi x:A.B <= typ
1697 |                cPsi  |- s <= cPsi'
1698 |                cPsi  |- tN <= [s]tA
...
1702 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
1703 |             LF.App (tN, tS)
1704 | 
1705 |          | (LF.Atom _, _) -> LF.Nil
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/unify.ml", lines 1683-1710, characters 4-15:
1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in
1684 |     match sM2 with
1685 |     | Root (loc, Const c, _, plicity) ->
1686 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
1687 |        dprintf
...
1707 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
1708 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
1709 |        Some tM1
1710 |     | _ -> None
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1716-1729, characters 6-32:
1716 | ......match Whnf.whnfTyp sA with
1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
1718 |          (* cPsi' |- Pi x:A.B <= typ
1719 |             cPsi  |- s <= cPsi'
1720 |             cPsi  |- tN <= [s]tA
...
1726 |          in
1727 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
1728 |          LF.App (tN, tS)
1729 |       | (LF.Atom _, _) -> LF.Nil
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/unify.ml", lines 1714-1762, characters 4-15:
1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
1715 |     let rec genSpine cD1 cPsi1 sA =
1716 |       match Whnf.whnfTyp sA with
1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
1718 |          (* cPsi' |- Pi x:A.B <= typ
...
1759 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
1760 |        Some tM1
1761 | 
1762 |     | _ -> None
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 1766-1769, characters 4-79:
1766 | ....match tm with
1767 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
1768 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
1769 |     | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ISub s, (MTyp _|PTyp _))

File "src/core/unify.ml", lines 1772-1796, characters 4-9:
1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
1773 |     if isId t1' && isMId mt1
1774 |     then
1775 |       begin
1776 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
...
1793 |         (* with | NotInvertible -> Error.raise_violation "Unification violation" *)
1794 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
1795 |            the wrong kind of exception... *)
1796 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1810-1882, characters 4-76:
1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in
1811 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
1812 |     (* cD |- mtt1 : cD0 and  cD ; cPsi |- t1' : cPsi1 *)
1813 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
1814 |     let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *)
...
1879 |       p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a"
1880 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
1881 |       end;
1882 |     instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1885-1918, characters 4-102:
1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
1886 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
1887 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
1888 |          then cD ; cPsi1 |- s' <= cPsi' *)
1889 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
...
1915 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
1916 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
1917 |      *)
1918 |     instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/unify.ml", lines 1934-1975, characters 7-12:
1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
1935 |        dprnt "(000) MVar-MVar";
1936 |        (* by invariant of whnf:
1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
1938 |           r1 and r2 are uninstantiated  (None)
...
1972 |          begin
1973 |            let id = next_constraint_id () in
1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
1975 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 1933-1975, characters 7-12:
1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
1934 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
1935 |        dprnt "(000) MVar-MVar";
1936 |        (* by invariant of whnf:
1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
...
1972 |          begin
1973 |            let id = next_constraint_id () in
1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
1975 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/unify.ml", lines 2439-2452, characters 4-52:
2439 | ....match (spine1, spine2) with
2440 |     | ((Nil, _), (Nil, _)) -> ()
2441 | 
2442 |     | ((SClo (tS1, s1'), s1), sS) ->
2443 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
...
2449 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
2450 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
2451 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
2452 |        unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Nil, _), (App (_, _), _))

File "src/core/unify.ml", lines 2659-2710, characters 7-61:
2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
2660 |        if mmvar1.instantiation == mmvar2.instantiation
2661 |        then
2662 |          if Option.equal Id.cid_schema_equal schema1 schema2
2663 |          then
...
2707 |          Error.raise_violation
2708 |            "Case where both meta-substitutions associated with \
2709 |             context variables are not pattern substitutions \
2710 |             should not happen and is not implemented for now"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CTyp schema1, ClTyp (_, _))

File "src/core/unify.ml", lines 2714-2747, characters 7-61:
2714 | .......let CTyp s_cid = mmvar.typ in
2715 |        if isPatMSub theta
2716 |        then
2717 |          begin
2718 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
...
2744 |          Error.raise_violation
2745 |            "Case where both meta-substitutions associated with \
2746 |             context variables are not pattern substitutions \
2747 |             should not happen and is not implemented for now"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (_, _)

File "src/core/unify.ml", lines 2785-2786, characters 4-43:
2785 | ....let Decl { typ = cT; _ } = cdecl in
2786 |     unifyMObj cD (mO, t) (mO', t') (cT, mt)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/unify.ml", lines 2820-2832, characters 7-53:
2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in
2821 |        let mOt = Whnf.cnormMetaObj (mO, t) in
2822 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
2823 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
2824 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
...
2829 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
2830 |          end;
2831 |        unifyMetaTyp cD (mT, t) (mT', t');
2832 |        unifyMetaSpine cD (mS, t) (mS', t') (cK', mt')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Ctype _

File "src/core/unify.ml", lines 2837-2840, characters 4-81:
2837 | ....function
2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MTyp tA1, (PTyp _|STyp (_, _)))

File "src/core/unify.ml", lines 2836-2840, characters 17-81:
2836 | .................Unification cD cPsi =
2837 |     function
2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Matching

File "src/core/unify.ml", lines 2842-2850, characters 18-57:
2842 | ..................Unification cD ctyp1 ctyp2 =
2843 |     match (ctyp1, ctyp2) with
2844 |     | (ClTyp (tp1, cPsi1), ClTyp (tp2, cPsi2)) ->
2845 |        unifyDCtx1 Unification cD cPsi1 cPsi2;
2846 |        unifyClTyp Unification cD cPsi1 (tp1, tp2)
2847 |     | (CTyp schema1, CTyp schema2) ->
2848 |        if Bool.not (Option.equal Id.cid_schema_equal schema1 schema2)
2849 |        then raise (Failure "CtxPi schema clash")
2850 |     | _ -> raise (Failure "Computation-level Type Clash")
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Matching

File "src/core/unify.ml", lines 2938-2941, characters 4-62:
2938 | ....match (itM1, itM2) with
2939 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
2940 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
2941 |     | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(INorm tM1, (IHead _|ISub _|ICtx _))

File "src/core/unify.ml", lines 2950-2962, characters 7-10:
2950 | .......begin match !cnstr with
2951 |        | Queued id ->
2952 |           forceCnstr mflag (nextCnstr ())
2953 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
2954 |           solveConstraint cnstr;
...
2959 |           solveConstraint cnstr;
2960 |           unifyHead mflag cD cPsi h1 h2;
2961 |           forceCnstr mflag (nextCnstr ())
2962 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))

File "src/core/unify.ml", lines 2994-3029, characters 7-100:
2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
2995 |        solveConstraint c;
2996 |        dprintf
2997 |          begin fun p ->
2998 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
...
3026 |         *)
3027 |        if solvedCnstrs (!globalCnstrs)
3028 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
3029 |        else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated"))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Queued _

File "src/core/unify.ml", lines 3202-3204, characters 8-68:
3202 | ........match (m1, m2) with
3203 |         | (MObj tM1, MObj tM2) ->  unify Empty cPsi (tM1, id) (tM2,id)
3204 |         | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MObj tM1, (PObj _|SObj _))

File "src/core/unify.ml", lines 3208-3217, characters 4-49:
3208 | ....match (m1, m2) with
3209 |     | (CObj cPsi, CObj cPhi) ->
3210 |        unifyDCtx1
3211 |          Unification
3212 |          Empty
3213 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
3214 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
3215 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
3216 |        (* unify_phat phat1 phat2; *)
3217 |        unifyClObj (Context.hatToDCtx phat1) m1 m2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CObj cPsi, (MUndef|ClObj (_, _)|MV _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Opsem.cmx -c -impl src/core/opsem.ml)
File "src/core/opsem.ml", lines 80-83, characters 2-30:
80 | ..match cM' with
81 |   | LF.ClObj (phat, LF.MObj tM) -> (loc, cM')
82 |   | LF.ClObj (phat, LF.PObj h) -> (loc, cM')
83 |   | LF.CObj cPsi -> (loc, cM')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClObj (_, SObj _)

File "src/core/opsem.ml", lines 121-137, characters 7-17:
121 | .......function
122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
124 |             when Id.cid_comp_dest_equal cid cid' ->
125 |           Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *)
...
134 |           | Value v -> Value v
135 |           end
136 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) ->
137 |           trim br
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _)

File "src/core/opsem.ml", lines 119-142, characters 5-8:
119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in
120 |      let rec trim =
121 |        function
122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
...
139 |      begin match trim fbr with
140 |      | FunBranch fr -> Comp.FunValue fr
141 |      | Value v -> v
142 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)|
CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)|
TupleValue (T (_, _, _)))

File "src/core/opsem.ml", lines 91-290, characters 2-50:
 91 | ..match i with
 92 |   | Comp.Const (_, cid) ->
 93 |      dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid);
 94 |      begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with
 95 |      | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) ->
...
287 |      eval_branches loc vscrut branches (theta, eta)
288 | 
289 |   | Comp.Hole (_) ->
290 |      Error.raise_violation "Source contains holes"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MApp (_, _, (_, ClObj (_, SObj _)), _, _)

File "src/core/opsem.ml", lines 321-325, characters 2-36:
321 | ..match (cObj, cObj') with
322 |   | (LF.MObj tM, LF.MObj tM') ->
323 |      Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id)
324 |   | (LF.PObj h, LF.PObj h') ->
325 |      Unify.unifyH LF.Empty phat h h'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MObj tM, (PObj _|SObj _))

File "src/core/opsem.ml", lines 437-458, characters 4-10:
437 | ....function
438 |     | Comp.NilValBranch -> FunBranch (Comp.NilValBranch)
439 |     | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) ->
440 |        begin try
441 |            let eta' = match_pattern (v, eta) (p, theta) in
...
455 |                eval_branch brs
456 |             | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg);
457 |                                     eval_branch brs)
458 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfcheck.cmx -c -impl src/core/lfcheck.ml)
File "src/core/lfcheck.ml", lines 225-230, characters 2-19:
225 | ..function
226 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
227 |   | DDec (cPsi', TypDecl (n, tA)) ->
228 |      let s = (ctxToSub' cPhi cPsi' : sub) in
229 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
230 |      Dot (Obj u, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi', TypDeclOpt _)

File "src/core/lfcheck.ml", lines 246-330, characters 2-55:
246 | ..match (sM, sA) with
247 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *)
248 |      check cD
249 |        (DDec (cPsi, S.LF.decSub tX s2))
250 |        (tM, S.LF.dot1 s1)
...
327 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
328 |      end
329 |   | ((Root (loc, _, _, _), _ (* id *)), _ ) ->
330 |      raise (Error (loc, CheckError (cD, cPsi, sM, sA)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Clo _, _), _)

File "src/core/lfcheck.ml", lines 361-370, characters 4-23:
361 | ....match (tS, sA) with
362 |     | ((Nil, _), sP) -> sP
363 | 
364 |     | ((SClo (tS, s'), s), sA) ->
365 |        syn (tS, S.LF.comp s' s) sA
366 | 
367 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) ->
368 |        check cD cPsi (tM, s1) (tA1, s2);
369 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
370 |        syn (tS, s1) tB2
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _))

File "src/core/lfcheck.ml", lines 346-377, characters 16-23:
346 | ................(Root (loc, h, tS, _), s (* id *)) =
347 |   let rec spineLength =
348 |     function
349 |     | Nil -> 0
350 |     | SClo (tS, _) -> spineLength tS
...
374 |   (* Check first that we didn't supply too many arguments. *)
375 |   if typLength sA' < spineLength tS
376 |   then raise (Error (loc, SpineIllTyped (typLength sA', spineLength tS)));
377 |   syn (tS, s) (sA', s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _)

File "src/core/lfcheck.ml", lines 393-394, characters 5-7:
393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
394 |      tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfcheck.ml", lines 400-409, characters 10-25:
400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
401 |           dprintf
402 |             begin fun p ->
403 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
404 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
405 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
406 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
407 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
408 |             end;
409 |           (recA, S.LF.id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfcheck.ml", lines 411-413, characters 10-19:
411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
412 |           checkSub loc cD cPsi s Subst cPsi';
413 |           (recA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _)

File "src/core/lfcheck.ml", lines 398-414, characters 7-64:
398 | .......match tuple_head with
399 |        | BVar k' ->
400 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
401 |           dprintf
402 |             begin fun p ->
...
411 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
412 |           checkSub loc cD cPsi s Subst cPsi';
413 |           (recA, s)
414 |        | FPVar (name, _) -> raise (Error (loc, LeftoverFV name))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
HClo (_, _, _)|HMClo (_, _))

File "src/core/lfcheck.ml", lines 446-457, characters 5-17:
446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
447 |      dprintf
448 |        begin fun p ->
449 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
450 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
...
454 |          f cPsi'
455 |        end;
456 |      checkSub loc cD cPsi s Subst cPsi' ;
457 |      TClo (tA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/lfcheck.ml", lines 461-474, characters 5-37:
461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
462 |      dprintf
463 |        begin fun p ->
464 |        let f = P.fmt_ppr_lf_mctx P.l0 in
465 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
...
471 |      checkMSub loc cD t' mmvar.cD;
472 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
473 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
474 |      TClo (Whnf.cnormTyp (tA, t'), r)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/lfcheck.ml", lines 391-506, characters 2-41:
391 | ..match (head, cl) with
392 |   | (BVar k', _) ->
393 |      let TypDecl (_, tA) = ctxDec cPsi k' in
394 |      tA
395 | 
...
503 |      TClo (tA, s)
504 | 
505 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
506 |      raise (Error (loc, LeftoverFV name))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MVar (Inst _, _), Subst)
(However, some guarded clause may match this value.)

File "src/core/lfcheck.ml", lines 509-528, characters 2-13:
509 | ..match cPsi with
510 |   | Null -> true (* we need to succeed because coverage should detect that
511 |                       it is not inhabited *)
512 | 
513 |   | CtxVar ctx_var ->
...
525 | 
526 |   | DDec (rest, TypDecl _) ->
527 |      canAppear cD rest head sA loc
528 |      || false...........................................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (rest, TypDeclOpt _)

File "src/core/lfcheck.ml", lines 643-655, characters 2-23:
643 | ..match sS1, sK with
644 |   | (Nil, _), sK ->
645 |     sK
646 | 
647 |   | (SClo (tS, s'), s), sK ->
...
652 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
653 | 
654 |   | (App _, _), (Typ, _) ->
655 |     raise SpineMismatch
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _))

File "src/core/lfcheck.ml", lines 664-681, characters 2-47:
664 | ..match tA with
665 |   | Atom (loc, a, tS) ->
666 |      let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
667 |      begin
668 |        try
...
678 |      checkTyp cD cPsi (tA, s);
679 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
680 | 
681 |   | Sigma arec -> checkTypRec cD cPsi (arec, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfcheck.ml", lines 710-714, characters 2-53:
710 | ..function
711 |   | Typ -> ()
712 |   | PiKind ((TypDecl (x, tA), _, _), kind) ->
713 |      checkTyp cD cPsi (tA, S.LF.id);
714 |      checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)

File "src/core/lfcheck.ml", lines 724-725, characters 2-47:
724 | ..match decl with
725 |   | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfcheck.ml", lines 734-754, characters 2-7:
734 | ..match cPsi with
735 |   | Null -> ()
736 |   | DDec (cPsi, tX) ->
737 |      checkDCtx cD cPsi;
738 |      checkDec cD cPsi (tX, S.LF.id)
...
751 |          (P.fmt_ppr_lf_mctx P.l0) cD
752 |        end;
753 |      ignore (Whnf.mctxLookup cD k);
754 |      ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/lfcheck.ml", lines 962-963, characters 5-47:
962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
963 |      checkSchema loc cD cPhi schema_name schema
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (INorm _|IHead _|ISub _)

File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57:
1019 | ..match (sArec, sBrec) with
1020 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
1021 |      None
1022 | 
1023 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
1024 |      Some (recA, s)
1025 | 
1026 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
1027 |      elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((SigmaLast (_, _), _), (SigmaElem (_, _, _), _))

File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69:
1075 | ..match (cM, cTt) with
1076 |   | (CObj cPsi, (CTyp (Some w), _)) ->
1077 |      let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in
1078 |      checkSchema loc cD cPsi name schema
1079 | 
...
1098 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
1099 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
1100 |      if Bool.not (Whnf.convMTyp mtyp1 mtyp2)
1101 |      then Error.raise_violation ("Contextual substitution ill-typed")
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CObj cPsi, (CTyp None, _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Total.cmx -c -impl src/core/total.ml)
File "src/core/total.ml", lines 31-45, characters 6-9:
31 | ......begin match (x, args) with
32 |       | (_, []) ->
33 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
34 |       | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) ->
35 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@"
...
42 | 
43 |       | (Comp.V _, _) ->
44 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration."
45 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(M (_, _), (E|DC)::_)

File "src/core/total.ml", lines 138-141, characters 2-56:
138 | ..function
139 |   | LF.Empty -> LF.Empty
140 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
141 |      LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)

File "src/core/total.ml", lines 155-157, characters 2-40:
155 | ..function
156 |   | None -> " _ "
157 |   | Some (Comp.Arg x) -> string_of_int x
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (Lex _|Simul _)

File "src/core/total.ml", line 249, characters 25-43:
249 |        let xs = List.map (fun (Arg x) -> x) xs in
                               ^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lex _|Simul _)

File "src/core/total.ml", lines 245-258, characters 4-41:
245 | ....match dec.order with
246 |     | `inductive (Arg x) ->
247 |        (dec.name, Some [x], (tau, Whnf.m_id))
248 |     | `inductive (Lex xs) ->
249 |        let xs = List.map (fun (Arg x) -> x) xs in
...
255 |     | `not_recursive
256 |       | `trust
257 |       | `partial ->
258 |        (dec.name, None, (tau, Whnf.m_id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
`inductive (Simul _)

File "src/core/total.ml", lines 331-332, characters 19-32:
331 | ...................(LF.Decl { name = x; typ = cU; _ }) =
332 |   (gen_var' loc cD (x, cU) , cU)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/total.ml", lines 404-413, characters 2-31:
404 | ..function
405 |   | [] -> []
406 |   | Comp.M (cM, cU) :: args ->
407 |      if uninstantiated_arg cM
408 |      then Comp.DC :: generalize args
409 |      else Comp.M (cM, cU) :: generalize args
410 |   | Comp.V x :: args ->
411 |      Comp.V x :: generalize args
412 |   | Comp.DC :: args ->
413 |      Comp.DC :: generalize args
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
E::_

File "src/core/total.ml", lines 445-455, characters 19-34:
445 | ...................(1, n) (LF.SchElem (some_part, block_part))  =
446 |     let sArec =
447 |     match Whnf.whnfTyp (tA, Substitution.LF.id) with
448 |     | (LF.Sigma tArec, s') -> (tArec, s')
449 |     | (tA', s') -> (LF.SigmaLast (None, tA'), s') in
...
452 |     try
453 |       Unify.unifyTypRec cD cPsi (block_part, dctxSub) sArec;
454 |       Some (b, tA)
455 |     with Unify.Failure _  ->  None..................................................................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(0, _)

File "src/core/total.ml", lines 509-511, characters 6-47:
509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in
510 |       (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id);
511 |        gen_meta_obj (k, Substitution.LF.id) cU)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/total.ml", lines 544-592, characters 2-30:
544 | ..function
545 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
546 |   | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) ->
547 |      let cU0 = Whnf.cnormMTyp (cU', theta) in
548 |          begin
...
589 | 
590 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
591 |      let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in
592 |      (Comp.DC :: spine, tau_r)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(2,
((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
 TypCross (_, _)|TypClo (_, _)|TypInd _),
_))

File "src/core/total.ml", lines 595-619, characters 2-30:
595 | ..function
596 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
597 | 
598 |   | (1, (Comp.TypPiBox _, _)) ->
599 |      raise Not_compatible (* Error *)
...
616 | 
617 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
618 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
619 |      (Comp.DC :: spine, tau_r)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(1,
((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
 TypCross (_, _)|TypClo (_, _)|TypInd _),
_))

File "src/core/total.ml", lines 622-713, characters 2-43:
622 | ..match cD' with
623 |   | LF.Empty -> cIH
624 | 
625 |   | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) ->
626 |      dprintf
...
710 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j);
711 |      let cIH' = mk_all (cIH, j) mf_list in
712 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1));
713 |      gen_rec_calls cD cIH' (cD', j + 1) mfs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/total.ml", lines 725-791, characters 2-47:
725 | ..match cG0 with
726 |   | LF.Empty -> cIH
727 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
728 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
729 | 
...
788 |           mk_all cIH' mf_list
789 |      in
790 |      let cIH' = mk_all cIH mf_list in
791 |      gen_rec_calls' cD cG cIH' (cG', j + 1) mfs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, CTypDeclOpt _)

File "src/core/total.ml", lines 860-868, characters 2-69:
860 | ..match cPsi with
861 |   (* cPsi |- tA *)
862 |   | LF.Null -> None
863 |   | LF.CtxVar _ -> None
864 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
865 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
866 |      then Some k
867 |      else
868 |        pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi, TypDeclOpt _)

File "src/core/total.ml", lines 1087-1111, characters 5-8:
1087 | .....begin
1088 |        match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) ,
1089 |                prefix_hat
1090 |                (Whnf.cnorm_psihat phat Whnf.m_id)
1091 |                (Whnf.cnorm_psihat phat' Whnf.m_id)
...
1108 |               end ;
1109 |             (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k))))  , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k)
1110 |             end
1111 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Some k', None)

File "src/core/total.ml", lines 1121-1124, characters 5-87:
1121 | .....let LF.Root (_, tH', _, _) =
1122 |        Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj)
1123 |      in
1124 |      (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/total.ml", lines 1134-1140, characters 2-65:
1134 | ..match args with
1135 |   | [] -> []
1136 |   | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi)
1137 |   | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi)
1138 |   | Comp.M (cM, cU )  :: args ->
1139 |      let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in
1140 |      Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
E::_

File "src/core/total.ml", lines 1316-1337, characters 2-40:
1316 | ..function
1317 |   | Comp.TypBase (loc, c, _) ->
1318 |      Bool.not (Id.cid_comp_typ_equal a c)
1319 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
1320 |         | Sgn.Positivity -> true
...
1334 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
1335 |   | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus
1336 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
1337 |   | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1340-1360, characters 2-40:
1340 | ..function
1341 |   | Comp.TypBase (loc, c, _) ->
1342 |      Id.cid_comp_typ_equal a c
1343 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
1344 |         | Sgn.Positivity -> true
...
1357 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
1358 |   | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus
1359 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
1360 |   | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1364-1372, characters 2-40:
1364 | ..function
1365 |   | Comp.TypBase _ -> true
1366 |   | Comp.TypCobase _ -> true
1367 |   | Comp.TypDef _ -> raise Unimplemented
1368 |   | Comp.TypBox _ -> true
1369 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
1370 |   | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus
1371 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
1372 |   | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1492-1531, characters 2-27:
1492 | ..match tau1 with
1493 |   | Comp.TypBase (loc, c, mS1) ->
1494 |      if Id.cid_comp_typ_equal a c
1495 |      then
1496 |        begin
...
1528 |   | Comp.TypBox _
1529 |     | Comp.TypClo _
1530 |     | Comp.TypCobase _
1531 |     | Comp.TypDef _ -> true
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _

File "src/core/total.ml", lines 1555-1580, characters 8-48:
1555 | ........function
1556 |         | Comp.TypBase _
1557 |           | Comp.TypCobase _
1558 |           | Comp.TypBox _ -> true
1559 | 
...
1577 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
1578 | 
1579 |         | Comp.TypDef _
1580 |           | Comp.TypClo _ -> raise Unimplemented
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypInd _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Coverage.cmx -c -impl src/core/coverage.ml)
File "src/core/coverage.ml", line 76, characters 21-63:
76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/coverage.ml", lines 75-78, characters 2-5:
75 | ..let Some (CTypDecl (_, tau, _)) =
76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
77 |   in
78 |   tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (CTypDeclOpt _)

File "src/core/coverage.ml", lines 195-210, characters 20-37:
195 | ....................(LF.Atom (_, a, _) as tP) =
196 |   let (cPhi, lazy s_proj, lazy s_tup) = ConvSigma.gen_flattening cD cPsi in
197 |   (* cPsi |- s_proj          : cPhi
198 |      cPhi |- s_tup           : cPsi
199 |      cPhi |- tQ                       where cPsi |- tP !! tQ = [s_tup]tP !! *)
...
207 |      cPsi  |- s_proj          : cPhi
208 |      cPsi  |- comp ss' s_proj : cPhi' *)
209 |   let ss_proj = S.LF.comp ss' s_proj in
210 |   (ss_proj, (cPhi', LF.tclo tQ ssi'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))

File "src/core/coverage.ml", lines 214-218, characters 4-74:
214 | ....match tA with
215 |     | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit)
216 |     | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) ->
217 |        let tM = eta (tB0, s) LF.Nil in
218 |        LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/coverage.ml", lines 271-281, characters 4-58:
271 | ....function
272 |     | MetaSub (cPsi, s, LF.STyp (_, cPhi)) ->
273 |        fprintf ppf "%a |- %a : %a"
274 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
275 |          (P.fmt_ppr_lf_sub cD cPsi P.l0) s
...
278 |        fprintf ppf "%a |- %a : %a"
279 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
280 |          (P.fmt_ppr_lf_normal cD cPsi P.l0) tR
281 |          (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MetaSub (cPsi, s, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 304-308, characters 4-73:
304 | ....function
305 |     | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi
306 |     | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi)
307 |     | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA)
308 |     | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CovSub (cPsi, s, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 483-484, characters 7-73:
483 | .......let Comp.TypBox (_, mT) = tau_sc in
484 |        check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)

File "src/core/coverage.ml", lines 545-546, characters 9-44:
545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 543-547, characters 7-10:
543 | .......begin
544 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
545 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
547 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 580-619, characters 5-8:
580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in
581 |      dprintf
582 |        begin fun p ->
583 |        p.fmt "[pre_match_head]  @[<v>pvar - case\
584 |               @,pattern:     @[@[%a@]@ |- @[%a@]@]\
...
616 |             end;
617 |           SplitCand
618 |             (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *)
619 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(BVar _|Const _|MMVar (({instantiation=_; constraints=_; _ }, _), _)|
MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)|
FPVar (_, _)|HClo (_, _, _)|
HMClo (_, (({instantiation=_; constraints=_; _ }, _), _)))

File "src/core/coverage.ml", lines 638-639, characters 9-44:
638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 636-640, characters 7-10:
636 | .......begin
637 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
638 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
640 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 695-708, characters 5-59:
695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
696 |      let covGoal' =
697 |        CovGoal
698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
699 |          , tM, (tB, S.LF.dot1 s)
...
705 |          , tN, (tB', S.LF.dot1 s')
706 |          )
707 |      in
708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Atom (_, _, _)|Sigma _|TClo (_, _)), _)

File "src/core/coverage.ml", lines 694-708, characters 5-59:
694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
696 |      let covGoal' =
697 |        CovGoal
698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
...
705 |          , tN, (tB', S.LF.dot1 s')
706 |          )
707 |      in
708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Atom (_, _, _)|Sigma _|TClo (_, _)), _)

File "src/core/coverage.ml", lines 692-737, characters 2-8:
692 | ..match (tM, tN) with
693 |   | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) ->
694 |      let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
696 |      let covGoal' =
...
734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
735 | 
736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
737 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))

File "src/core/coverage.ml", lines 684-737, characters 2-8:
684 | ..let MetaPatt (cPhi, tN, sA') = patt in
685 |   dprintf
686 |     begin fun p ->
687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
688 |            @,pattern: @[%a@]@]"
...
734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
735 | 
736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
737 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaSub (_, _, _)|GenPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 683-737, characters 2-8:
683 | ..let CovGoal (cPsi, tM, sA) = covGoal in
684 |   let MetaPatt (cPhi, tN, sA') = patt in
685 |   dprintf
686 |     begin fun p ->
687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
...
734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
735 | 
736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
737 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 744-758, characters 5-18:
744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
748 |      let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in
...
755 |        (cPsi, tS, sB2')
756 |        (cPsi', tS', sC2')
757 |        matchCands'
758 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 743-758, characters 5-18:
743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
...
755 |        (cPsi, tS, sB2')
756 |        (cPsi', tS', sC2')
757 |        matchCands'
758 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 740-758, characters 2-18:
740 | ..match (tS, tS') with
741 |   | (LF.Nil, LF.Nil) -> (matchCands, splitCands)
742 |   | (LF.App (tM, tS), LF.App (tM', tS')) ->
743 |      let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
...
755 |        (cPsi, tS, sB2')
756 |        (cPsi', tS', sC2')
757 |        matchCands'
758 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Nil, (App (_, _)|SClo _))

File "src/core/coverage.ml", lines 793-797, characters 5-63:
793 | .....let LF.TypDecl (_, tA1) = tdecl1 in
794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 792-797, characters 5-63:
792 | .....let LF.TypDecl (_, tA0) = tdecl0 in
793 |      let LF.TypDecl (_, tA1) = tdecl1 in
794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 763-816, characters 2-74:
763 | ..match ((s0, cPhi0), (s1, cPhi1)) with
764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
766 |      if n = k
767 |      then (matchCands, splitCands)
...
813 | 
814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
815 | 
816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Shift _, _),
(Dot
   (Head
      (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|
      FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
   _),
_))

File "src/core/coverage.ml", lines 762-816, characters 2-74:
762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
763 |   match ((s0, cPhi0), (s1, cPhi1)) with
764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
766 |      if n = k
...
813 | 
814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
815 | 
816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MetaSub (cPsi1, s1, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 761-816, characters 2-74:
761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in
762 |   let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
763 |   match ((s0, cPhi0), (s1, cPhi1)) with
764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
...
813 | 
814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
815 | 
816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CovSub (cPsi0, s0, (MTyp _|PTyp _))

File "src/core/coverage.ml", lines 819-830, characters 2-57:
819 | ..match (f0, f1) with
820 |   | (LF.Head h0, LF.Head h1) ->
821 |      let tM0 = eta_expand (h0, tA0) in
822 |      let tM1 = eta_expand (h1, tA1) in
823 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
...
827 |   | (LF.Obj tM0, LF.Obj tM1) ->
828 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
829 |      let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in
830 |      pre_match cD cD_p covGoal patt matchCands splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Head h0, (Undef|Obj _))

File "src/core/coverage.ml", lines 839-851, characters 5-18:
839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
843 |      let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in
...
848 |        (cPsi, tS, sK1')
849 |        (cPsi', tS', sK2')
850 |        matchCands'
851 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 838-851, characters 5-18:
838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
839 |      let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
...
848 |        (cPsi, tS, sK1')
849 |        (cPsi', tS', sK2')
850 |        matchCands'
851 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 834-851, characters 2-18:
834 | ..match ((tS1, sK1), (tS2, sK2)) with
835 |   | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) ->
836 |      (matchCands, splitCands)
837 |   | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) ->
838 |      let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
...
848 |        (cPsi, tS, sK1')
849 |        (cPsi', tS', sK2')
850 |        matchCands'
851 |        splitCands'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Nil, (Typ, _)), (Nil, (PiKind (_, _), _)))

File "src/core/coverage.ml", lines 860-903, characters 2-17:
860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with
861 |   | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) ->
862 |      let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
863 |      let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in
864 |      let tS1' = Whnf.normSpine (tS1, s1) in
...
900 |        (trec1, s1)
901 |        (trec2, s2)
902 |        matchCands
903 |        splitCands
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _))

File "src/core/coverage.ml", lines 907-927, characters 2-12:
907 | ..match (srec1, srec2) with
908 |   | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) ->
909 |      pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands
910 | 
911 |   | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) ->
...
924 |        (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1))))
925 |        (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2))))
926 |        (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2)
927 |        mC sC
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _))

File "src/core/coverage.ml", lines 952-1004, characters 2-31:
 952 | ..match ((mO, mt), (mO_p, mtp)) with
 953 |   | LF.((CObj cPsi, _), (CObj cPsi', _)) ->
 954 |      pre_match_dctx cD cD_p cPsi cPsi' mC sC
 955 |   | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) ->
 956 |      match ((clobj, cltyp), (clobj', cltyp')) with
...
1001 |             (mobj cD_p) (loc', mO_p)
1002 |             (mtyp cD_p) mtp
1003 |         in
1004 |         Error.raise_violation s
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _))

File "src/core/coverage.ml", lines 1092-1104, characters 5-10:
1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1095 |      let t2 = LF.MDot (mO, t) in
1096 |      let t2' = LF.MDot (mO', t') in
...
1101 |        (pS, (tau2, t2))
1102 |        (pS', (tau2', t2'))
1103 |        mC1
1104 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1091-1104, characters 5-10:
1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1092 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1095 |      let t2 = LF.MDot (mO, t) in
...
1101 |        (pS, (tau2, t2))
1102 |        (pS', (tau2', t2'))
1103 |        mC1
1104 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1110-1122, characters 5-10:
1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1113 |      let t2 = LF.MDot (mO, t) in
1114 |      let t2' = LF.MDot (mO', t') in
...
1119 |        (pS, (tau2, t2))
1120 |        (pS', (tau2', t2'))
1121 |        mC1
1122 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1109-1122, characters 5-10:
1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1110 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
1113 |      let t2 = LF.MDot (mO, t) in
...
1119 |        (pS, (tau2, t2))
1120 |        (pS', (tau2', t2'))
1121 |        mC1
1122 |        sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1128-1134, characters 5-84:
1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1129 |      let tau1 = LF.CTyp w in
1130 |      let tau1' = LF.CTyp w' in
1131 |      let t2 = LF.MDot (mO, t) in
1132 |      let t2' = LF.MDot (mO', t')in
1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1127-1134, characters 5-84:
1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1128 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1129 |      let tau1 = LF.CTyp w in
1130 |      let tau1' = LF.CTyp w' in
1131 |      let t2 = LF.MDot (mO, t) in
1132 |      let t2' = LF.MDot (mO', t')in
1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1139-1147, characters 5-51:
1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
1143 |      let t2 = LF.MDot (mO, t) in
1144 |      let t2' = LF.MDot (mO', t') in
1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
1146 |      match_spines (cD, cG) (cD_p, cG_p)
1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1138-1147, characters 5-51:
1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
1139 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
1143 |      let t2 = LF.MDot (mO, t) in
1144 |      let t2' = LF.MDot (mO', t') in
1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
1146 |      match_spines (cD, cG) (cD_p, cG_p)
1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/coverage.ml", lines 1186-1224, characters 2-8:
1186 | ..match Whnf.whnfTyp sA with
1187 |   | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) ->
1188 |      (* cPsi' |- Pi x:A.B <= typ
1189 |         cPsi  |- s <= cPsi'
1190 |         cPsi  |- tN <= [s]tA
...
1221 |          Some LF.Nil
1222 |        with
1223 |        | U.Failure _ -> None
1224 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp ((TypDeclOpt _, _, _), _), _)

File "src/core/coverage.ml", lines 1343-1349, characters 2-29:
1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *)
1344 |   (* We call expand_head_sigma here because it might be *projections*
1345 |      of the bound variable that are relevant to the matching.
1346 |    *)
1347 |   expand_head_sigma (LF.BVar i, tA)
1348 |   |> List.map (fun (tH, tA) -> (tH, tA, 0))
1349 |   |> genAllObj (cD, cPsi, tP)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 1484-1492, characters 7-10:
1484 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) ->
1485 |        let cg' =
1486 |          ( cPsi'
1487 |          , LF.Lam (Location.ghost, x, tM)
1488 |          , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id)
1489 |          )
1490 |        in
1491 |        (cD', cg', ms)
1492 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', ((Null|CtxVar _), _, (_, _)), _)

File "src/core/coverage.ml", lines 1468-1493, characters 2-14:
1468 | ..match tA with
1469 |   | LF.Atom _ ->
1470 |      genPVar cov_problem @ genBVars cov_problem
1471 |   | LF.Sigma trec ->
1472 |      Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types"
...
1490 |        in
1491 |        (cD', cg', ms)
1492 |        end
1493 |        cg_list
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/coverage.ml", lines 1544-1551, characters 7-10:
1544 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
1545 |        ( cD'
1546 |        , ( cPsi'
1547 |          , LF.Lam (Location.ghost, x, tM)
1548 |          , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id))
1549 |        , t
1550 |        )
1551 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', ((Null|CtxVar _), _, (_, _)), _)

File "src/core/coverage.ml", lines 1541-1552, characters 5-16:
1541 | .....let LF.TypDecl (x, _) = tdecl in
1542 |      let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in
1543 |      List.map
1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
1545 |        ( cD'
...
1549 |        , t
1550 |        )
1551 |        end
1552 |        cov_goals
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 1512-1552, characters 2-16:
1512 | ..match tA with
1513 |   | LF.Atom (_, a, tS) ->
1514 |      let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *)
1515 |      dprintf
1516 |        begin fun p ->
...
1549 |        , t
1550 |        )
1551 |        end
1552 |        cov_goals
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/coverage.ml", lines 1582-1700, characters 5-8:
1582 | .....begin match mc with
1583 |      | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) ->
1584 |         let cT = LF.ClTyp (sT, cPsi) in
1585 |         let cT_p = LF.ClTyp (sT_p, cPsi_p) in
1586 |         let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in
...
1697 |                   NotSolvable
1698 |                end
1699 |         end
1700 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _)))

File "src/core/coverage.ml", lines 1725-1730, characters 5-11:
1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in
1726 |      (* let MetaPatt (cPhi, _, sB') = patt in *)
1727 |      (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *)
1728 |      (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *)
1729 |      let result = pre_match cD cD_p covG patt matchL' splitL' in
1730 |      result
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 1719-1741, characters 2-94:
1719 | ..match splitL with
1720 |   | [] -> (matchL, [])
1721 |   | Split (CovGoal (cPsi, tR, sA), patt) :: splits ->
1722 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
1723 |      let tA = Whnf.normTyp sA in
...
1738 |      pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL'
1739 |   | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits ->
1740 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
1741 |      (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Split ((CovCtx _|CovPatt (_, _, _)), _)::_

File "src/core/coverage.ml", lines 1973-2000, characters 5-6:
1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) =
1974 |        Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s')
1975 |      in
1976 |      (* bp : Context substitution associated with declaration is off by 1 *)
1977 |      let (ss', cPsi') = Subord.thin' cD'' a cPsi in
...
1997 |      in
1998 |      ( LF.Dec (cD'', mdec)
1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
2000 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _))

File "src/core/coverage.ml", lines 1964-2000, characters 2-6:
1964 | ..match decls with
1965 |   | LF.Empty -> (cD', S.LF.id)
1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
1967 |      let x = NameGen.renumber names x in
1968 |      let names = x :: names in
...
1997 |      in
1998 |      ( LF.Dec (cD'', mdec)
1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
2000 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (decls, TypDeclOpt _)

File "src/core/coverage.ml", lines 1963-2000, characters 28-6:
1963 | ............................(LF.CtxOffset k as cpsi) (d, decls) =
1964 |   match decls with
1965 |   | LF.Empty -> (cD', S.LF.id)
1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
1967 |      let x = NameGen.renumber names x in
...
1997 |      in
1998 |      ( LF.Dec (cD'', mdec)
1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
2000 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxName _|CInst ({instantiation=_; constraints=_; _ }, _))

File "src/core/coverage.ml", lines 2096-2099, characters 17-34:
2096 | .................(LF.Dec (cD', LF.Decl _) as cD) cpsi =
2097 |   let nonempty_cases = List.map (genSchemaElemGoal names cD cpsi) in
2098 |   let empty_case = List.cons (cD', LF.Null, LF.MShift 0) in
2099 |   F.(empty_case ++ nonempty_cases)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/coverage.ml", lines 2123-2136, characters 23-38:
2123 | .......................(x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) =
2124 |   let LF.Schema elems = Store.Cid.Schema.get_schema schema_cid in
2125 |   let cD' =
2126 |     LF.Dec
2127 |       (cD
...
2133 |           }
2134 |       )
2135 |   in
2136 |   genCtx [] cD' (LF.CtxOffset 1) elems
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(x, CTyp None, _, _)

File "src/core/coverage.ml", lines 2144-2178, characters 5-87:
2144 | .....let LF.TypDecl (x, tA) = decl in
2145 |      let s = LF.SVar (2, 0, S.LF.id) in
2146 |      let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in
2147 |      let name = Whnf.newMTypName mT in
2148 |      let cD' =
...
2175 |      in
2176 |      let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in
2177 |      let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in
2178 |      [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)]
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/coverage.ml", lines 2186-2239, characters 2-8:
2186 | ..match cT with
2187 |   | LF.ClTyp (clTyp, cPsi) ->
2188 |      begin match clTyp with
2189 |      | LF.MTyp tA ->
2190 |         dprintf
...
2236 |            , Atomic
2237 |            )
2238 |         end
2239 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _

File "src/core/coverage.ml", lines 2249-2250, characters 11-60:
2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in
2250 |            genContextGoals cD' (x, cU, plicity, inductivity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/coverage.ml", lines 2242-2278, characters 2-58:
2242 | ..match (cv_list, cD) with
2243 |   | ([], _) -> NoCandidate
2244 |   | ([LF.CtxOffset j], LF.Dec (cD', d)) ->
2245 |      if j = k
2246 |      then
...
2275 |          SomeCtxCands ctx_goals'
2276 |        end
2277 |      else
2278 |        best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxOffset j::[], Empty)

File "src/core/coverage.ml", lines 2308-2309, characters 25-35:
2308 | .........................let LF.Root (_, tH, _, _) = tR in
2309 |                          LF.PObj tH
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/coverage.ml", lines 2302-2309, characters 22-35:
2302 | ......................match cT with
2303 |                       (* gonna be a ClTyp because we're in the CovGoal branch *)
2304 |                       | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR
2305 |                       | LF.ClTyp (LF.PTyp _, _) ->
2306 |                          (* ensure that PTyp is added as a PObj to the
2307 |                             msub; otherwise normalization WILL crash. *)
2308 |                          let LF.Root (_, tH, _, _) = tR in
2309 |                          LF.PObj tH
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/core/coverage.ml", lines 2294-2331, characters 17-50:
2294 | .................match cg with
2295 |                  | CovGoal (cPsi', tR, sA') ->
2296 |                     dprintf
2297 |                       begin fun p ->
2298 |                       p.fmt "[best_cand] generated covgoal @[%a@]"
...
2328 |                         , Whnf.cnormClTyp (sT, LF.MShift k)
2329 |                         )
2330 |                     in
2331 |                     TermCandidate (cD'', cg', ms0).
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovPatt (_, _, _))

File "src/core/coverage.ml", lines 2335-2348, characters 11-17:
2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with
2336 |            | NoCandidate -> SomeTermCands (dep0, cov_goals0)
2337 |            | SomeTermCands (dep, cov_goals) ->
2338 |               begin match dep, dep0 with
2339 |               | Dependent, Atomic -> SomeTermCands (dep, cov_goals)
...
2345 |                  then SomeTermCands (dep, cov_goals)
2346 |                  else SomeTermCands (dep0, cov_goals0)
2347 |                *)
2348 |               end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
SomeCtxCands _

File "src/core/coverage.ml", lines 2282-2356, characters 2-55:
2282 | ..match (mv_list, cD) with
2283 |   | ([], _) -> NoCandidate
2284 |   | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) ->
2285 |      if k = j
2286 |      then
...
2353 |             best_cand (cD', mvlist') (k + 1) (md :: cD_tail)
2354 |        end
2355 |      else
2356 |        best_cand (cD', mv_list) (k + 1) (md :: cD_tail)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Offset j::mvlist', Dec (cD', DeclOpt _))

File "src/core/coverage.ml", lines 2430-2438, characters 7-13:
2430 | .......match cl with
2431 |        | LF.PTyp _ ->
2432 |           let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in
2433 |           LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id)))
2434 |        | LF.MTyp _ ->
2435 |           LF.MObj
2436 |             (ConvSigma.etaExpandMMVstr
2437 |                Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names)
2438 |             )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/coverage.ml", lines 2581-2594, characters 6-9:
2581 | ......begin fun (CovGoal (cPsi', tR, sA')) ->
2582 |       let m_obj =
2583 |         ( Location.ghost
2584 |         , LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR)
2585 |         )
...
2591 |         )
2592 |       in
2593 |       (LF.Empty, pat_r, tau_r)
2594 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/coverage.ml", lines 2630-2632, characters 10-46:
2630 | ..........match tC with
2631 |           | MTyp _ -> fun sA -> MTyp (TClo sA)
2632 |           | PTyp _ -> fun sA -> PTyp (TClo sA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/coverage.ml", lines 2626-2667, characters 5-8:
2626 | .....begin match mT with
2627 |      | LF.(ClTyp (tC, cPsi)) ->
2628 |         let f =
2629 |           let open LF in
2630 |           match tC with
...
2664 |              , t
2665 |              )
2666 |              end
2667 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp None

File "src/core/coverage.ml", lines 2714-2762, characters 2-55:
2714 | ..function
2715 |   | [] -> vlist
2716 |   | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl ->
2717 |      let (pvlist, cvlist, mvlist) = vlist in
2718 |      if List.mem u mvlist
...
2759 |      let (pvlist, cvlist, mvlist) = vlist in
2760 |      if List.mem x pvlist
2761 |      then mvInSplit cD vlist sl
2762 |      else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
SplitCtx ((Null|DDec (_, _)), _)::_

File "src/core/coverage.ml", lines 2773-2778, characters 30-13:
2773 | ..............................(LF.Offset k') ->
2774 |       if k' < k
2775 |       then 1
2776 |       else if k' = k
2777 |       then 0
2778 |       else -1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Inst {instantiation=_; constraints=_; _ }

File "src/core/coverage.ml", lines 2773-2779, characters 6-9:
2773 | ......begin fun (LF.Offset k) (LF.Offset k') ->
2774 |       if k' < k
2775 |       then 1
2776 |       else if k' = k
2777 |       then 0
2778 |       else -1
2779 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Inst {instantiation=_; constraints=_; _ }

File "src/core/coverage.ml", lines 2784-2789, characters 33-13:
2784 | .................................(LF.CtxOffset k') ->
2785 |       if k' < k
2786 |       then 1
2787 |       else if k' = k
2788 |       then 0
2789 |       else -1
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxName _|CInst ({instantiation=_; constraints=_; _ }, _))

File "src/core/coverage.ml", lines 2784-2790, characters 6-9:
2784 | ......begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
2785 |       if k' < k
2786 |       then 1
2787 |       else if k' = k
2788 |       then 0
2789 |       else -1
2790 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CtxName _|CInst ({instantiation=_; constraints=_; _ }, _))

File "src/core/coverage.ml", line 2867, characters 50-80:
2867 |             Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals)
                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxCandidate (_, _, _)

File "src/core/coverage.ml", lines 2903-2908, characters 2-33:
2903 | ..function
2904 |   | Comp.PatNil -> Comp.PatNil
2905 |   | Comp.PatApp (loc, pat, pS) ->
2906 |      let pat' = subst_pattern (pat_r, pv) pat in
2907 |      let pS' = subst_pattern_spine (pat_r, pv) pS in
2908 |      Comp.PatApp (loc, pat', pS')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)

File "src/core/coverage.ml", lines 2979-2995, characters 32-52:
2979 | ................................(x :: pvlist) =
2980 |   let cov_goals' =
2981 |     List.map
2982 |       begin fun (cD', (cG', pat, tau_p), t) ->
2983 |       (cD', (Context.append (Whnf.cnormGCtx (cG, t)) cG', pat, tau_p), t)
...
2992 |       cov_goals'
2993 |     end;
2994 |   let l = List.length cov_goals' in
2995 |   best_pv_cand' (cD, cG) pvlist (l, (cov_goals', x))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/coverage.ml", lines 3002-3013, characters 2-40:
3002 | ..match sl with
3003 |   | [] -> pvlist
3004 |   | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist
3005 |   | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist
3006 |   | SplitCtx _ :: sl -> pvInSplitCand sl pvlist
...
3010 |      );
3011 |      if List.mem x pvlist
3012 |      then pvInSplitCand sl pvlist
3013 |      else pvInSplitCand sl (x :: pvlist)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Split ((CovCtx _|CovPatt (_, _, _)), _)::_

File "src/core/coverage.ml", lines 3223-3231, characters 2-27:
3223 | ..let CovPatt (cG', pat', ttau') = covGoal in
3224 |   dprintf
3225 |     begin fun p ->
3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
3229 |     end;
3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
3231 |   Cand (cD_p, cG_p, ml, sl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _))

File "src/core/coverage.ml", lines 3222-3231, characters 33-27:
3222 | .................................(cD_p, GenPatt (cG_p, pat, ttau)) =
3223 |   let CovPatt (cG', pat', ttau') = covGoal in
3224 |   dprintf
3225 |     begin fun p ->
3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
3229 |     end;
3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
3231 |   Cand (cD_p, cG_p, ml, sl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _)))

File "src/core/coverage.ml", lines 3399-3434, characters 2-50:
3399 | ..function
3400 |   | LF.Empty -> false
3401 |   | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) ->
3402 |      begin
3403 |        try
...
3431 |           print_string "Unable to prove given type is empty\n"; check_emptiness cD'
3432 |      end
3433 | 
3434 |   | LF.Dec (cD', LF.Decl _) -> check_emptiness cD'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/core/coverage.ml", lines 3437-3447, characters 2-8:
3437 | ..function
3438 |   | LF.Empty -> false
3439 |   | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) ->
3440 |      begin
3441 |        try
...
3444 |          | _ -> check_empty_comp names cD cG
3445 |        with
3446 |        | _ -> check_empty_comp names cD cG
3447 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG, CTypDeclOpt _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Interactive.cmx -c -impl src/core/interactive.ml)
File "src/core/interactive.ml", lines 202-213, characters 10-26:
202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
203 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
204 |           let k = List.length cD_tail in
205 |           let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in
206 |           let cg' =
...
210 |               , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id)
211 |               )
212 |           in
213 |           (cD'', cg', ms0)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))

File "src/core/interactive.ml", lines 183-214, characters 18-13:
183 | ..................(LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail =
184 |   match mtyp with
185 |   | LF.CTyp _ ->
186 |      Cover.genContextGoals cD' (n, mtyp, plicity, inductivity)
187 |      |> List.map
...
211 |               )
212 |           in
213 |           (cD'', cg', ms0)
214 |           end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Check.cmx -c -impl src/core/check.ml)
File "src/core/check.ml", lines 471-475, characters 4-46:
471 | ....function
472 |     | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS
473 |     | I.Lam (_, _, tM) -> fmv_normal cD tM
474 |     | I.LFHole _ -> cD
475 |     | I.Tuple (_, tuple) -> fmv_tuple cD tuple
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Clo _

File "src/core/check.ml", lines 490-492, characters 4-55:
490 | ....function
491 |     | I.Nil -> cD
492 |     | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
SClo _

File "src/core/check.ml", lines 500-503, characters 4-61:
500 | ....function
501 |     | I.Null -> cD
502 |     | I.CtxVar (I.CtxOffset k) -> mark_ind cD k
503 |     | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/check.ml", lines 511-514, characters 4-38:
511 | ....function
512 |     | I.Atom (_, _, tS) -> fmv_spine cD tS
513 |     | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA
514 |     | I.Sigma trec -> fmv_trec cD trec
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/check.ml", lines 534-538, characters 4-68:
534 | ....function
535 |     | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi
536 |     | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM
537 |     | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h
538 |     | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, (MUndef|MV _))

File "src/core/check.ml", lines 553-556, characters 4-43:
553 | ....function
554 |     | PatNil -> cD
555 |     | PatApp (_, pat, pat_spine) ->
556 |        fmv_pat_spine (fmv cD pat) pat_spine
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PatObs (_, _, _, _)

File "src/core/check.ml", lines 561-595, characters 4-10:
561 | ....match (t, cD) with
562 |     | (I.MShift k, I.Empty) -> cD1'
563 |     | (I.MShift k, cD)
564 |          when k < 0 ->
565 |        Error.raise_violation "Contextual substitution ill-formed"
...
592 |           else
593 |             id_map_ind cD1' ms cD
594 |        | _ -> id_map_ind cD1' ms cD
595 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MDot (_, _), Dec (cD, DeclOpt _))

File "src/core/check.ml", lines 618-619, characters 7-23:
618 | .......fun (CTypDecl (u, tau, wf_tag)) ->
619 |        (u, tau, wf_tag)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/check.ml", lines 747-771, characters 6-12:
747 | ......match cPsi0 with
748 |       | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *)
749 |       | Int.LF.CtxVar psi ->
750 |          (* tA is an instance of a schema block *)
751 |          let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } =
...
768 |              Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id)
769 |            with
770 |            | _ -> checkParamTypeValid' (cPsi0', n + 1)
771 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (cPsi0', TypDeclOpt _)

File "src/core/check.ml", lines 776-796, characters 4-68:
776 | ....match (mS, cKt) with
777 |     | (MetaNil, (Ctype _, _)) -> ()
778 |     | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) ->
779 |        if Plicity.(plicity_app <> plicity_pi)
780 |        then Error.raise_violation "[checkMetaSpine] plicity mismatch";
...
793 |                  Location.print_short loc
794 |               )
795 |        end;
796 |        checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaNil, (PiKind (_, _, _), _))

File "src/core/check.ml", lines 822-824, characters 20-32:
822 | ....................(I.Decl { name = x; typ = ctyp; _ }) =
823 |     let location = Name.location x in
824 |     checkCLFTyp location cD ctyp
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/check.ml", lines 834-868, characters 4-35:
834 | ....function
835 |     | TypBase (loc, c, mS) ->
836 |        let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in
837 |        checkMetaSpine loc cD mS (cK, C.m_id)
838 | 
...
865 |          end;
866 |        checkTyp (I.Dec (cD, cdecl)) tau'
867 | 
868 |     | TypInd tau -> checkTyp cD tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDef (_, _, _)|TypClo (_, _))

File "src/core/check.ml", lines 880-882, characters 21-54:
880 | .....................(x, (I.Decl d), t) =
881 |     let typ' = C.cnormMTyp (d.typ, t) in
882 |     I.Dec (cD, I.Decl { d with name = x; typ = typ' })
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(x, DeclOpt _, _)

File "src/core/check.ml", lines 899-916, characters 12-15:
899 | ............begin match e2 with
900 |             | Box (_, cM, cU) | AnnBox (_, cM, cU) ->
901 |                dprintf
902 |                  begin fun p ->
903 |                  p.fmt "[useIH] @[<v>check whether compatible IH exists@,\
...
913 |                | Option.None -> Total.filter cD cG cIH (loc, E)
914 |                end
915 |             | Hole _ -> Total.drop_arg cIH
916 |             end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)|
Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _))

File "src/core/check.ml", lines 1114-1276, characters 4-45:
1114 | ....function
1115 |     | Var (loc, x) as e ->
1116 |        let (f,tau', _) = lookup cG x in
1117 |        Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id))
1118 |          (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e);
...
1273 | 
1274 |     | AnnBox (_, cM, cT) ->
1275 |        checkMetaObj cD cM cT C.m_id;
1276 |        (None, TypBox (getLoc cM, cT), C.m_id)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)|
Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _))

File "src/core/check.ml", lines 1350-1357, characters 7-10:
1350 | .......begin match (tau, theta) with
1351 |        | (TypArr (_, tau1, tau2), theta) ->
1352 |           checkPattern cD cG pat (tau1, theta);
1353 |           synPatSpine cD cG pat_spine (tau2, theta)
1354 |        | (TypPiBox (_, cdecl, tau), theta) ->
1355 |           let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in
1356 |           synPatSpine cD cG pat_spine (tau, theta')
1357 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
 TypCross (_, _)|TypClo (_, _)|TypInd _),
_)

File "src/core/check.ml", lines 1373-1375, characters 53-38:
1373 | .....................................................(I.Decl { typ = ctyp; _ }, theta) =
1374 |     LF.checkMetaObj cD mO (ctyp, theta);
1375 |     I.MDot (metaObjToMFront mO, theta)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(DeclOpt _, _)

File "src/core/check.ml", lines 1373-1375, characters 30-38:
1373 | ..............................(PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
1374 |     LF.checkMetaObj cD mO (ctyp, theta);
1375 |     I.MDot (metaObjToMFront mO, theta)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
PatAnn (_, _, _, _))

File "src/core/check.ml", lines 1665-1667, characters 4-42:
1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in
1666 |     let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in
1667 |     proof mcid cD cG cIH total_decs p ttau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
{cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}

File "src/core/check.ml", lines 1678-1743, characters 4-13:
1678 | ....match d with
1679 |     | Intros hyp ->
1680 |        let tau = Whnf.cnormCTyp ttau in
1681 |        let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in
1682 |        dprintf
...
1740 |            end;
1741 |          proof mcid cD cG cIH total_decs p (tau, Whnf.m_id)
1742 |          end
1743 |          args
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ImpossibleSplit _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfrecon.cmx -c -impl src/core/lfrecon.ml)
File "src/core/lfrecon.ml", lines 253-262, characters 2-29:
253 | ..function
254 |   | Apx.LF.BVar _ -> "BVar"
255 |   | Apx.LF.Const _ -> "Const"
256 |   | Apx.LF.MVar _ -> "MVar"
257 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
258 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
259 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
260 |   | Apx.LF.FVar _ -> "FVar"
261 |   | Apx.LF.FMVar _ -> "FMVar"
262 |   | Apx.LF.FPVar _ -> "FPVar"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Hole

File "src/core/lfrecon.ml", lines 275-276, characters 5-19:
275 | .....let (None, d) = Context.dctxToHat cPsi in
276 |      Int.LF.Shift d
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Some _, _)

File "src/core/lfrecon.ml", lines 311-333, characters 8-80:
311 | ........let CTyp s_cid = mmvar1.typ in
312 |         if d = d'
313 |         then
314 |           begin
315 |             begin match c_var with
...
330 |             true
331 |           end
332 |         else
333 |           Error.raise_not_implemented "[unify_phat] ctx_var with a full context"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (_, _)

File "src/core/lfrecon.ml", lines 358-359, characters 9-42:
358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in
359 |          Store.Cid.Schema.get_schema s_cid
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=CTyp None; _ })

File "src/core/lfrecon.ml", lines 352-366, characters 2-92:
352 | ..match ctxvar with
353 |   | Some (Int.LF.CtxOffset _ as phi) ->
354 |      Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi)
355 |   | Some (Int.LF.CtxName n) ->
356 |      begin
...
363 | 
364 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
365 |      Store.Cid.Schema.get_schema s_cid
366 |   | None -> Error.raise_violation "No context variable for which we could retrieve a schema"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (CInst ({typ=CTyp None; _ }, _))

File "src/core/lfrecon.ml", lines 372-376, characters 2-44:
372 | ..function
373 |   | Int.LF.Atom _ -> m
374 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) ->
375 |      dprint (fun () -> "eta FMV - add Lam ");
376 |      Apx.LF.Lam (loc, x, addPrefix loc m tA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 385-389, characters 4-62:
385 | ....function
386 |     | Int.LF.Atom _ -> (k, s)
387 |     | Int.LF.PiTyp (_, tA) ->
388 |        let (k', s') = go (k + 1) s tA in
389 |        (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/lfrecon.ml", lines 391-395, characters 2-18:
391 | ..match tA, s with
392 |   | Int.LF.Atom _, _ -> (k, s)
393 |   | Int.LF.PiTyp _, None ->
394 |      let (k', s') = go k Apx.LF.Id tA in
395 |      (k', Some s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiTyp (_, _), Some _)

File "src/core/lfrecon.ml", lines 399-401, characters 20-71:
399 | ....................(Apx.LF.MVar (x, s)) tA =
400 |   let (_, s') = etaExpSub 0 s tA in
401 |   addPrefix loc (Apx.LF.Root (loc, Apx.LF.MVar (x, s'), Apx.LF.Nil)) tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
FPVar (_, _))

File "src/core/lfrecon.ml", lines 406-410, characters 4-52:
406 | ....function
407 |     | Int.LF.Atom _ -> (k, tS)
408 |     | Int.LF.PiTyp (_, tA') ->
409 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in
410 |        etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/lfrecon.ml", lines 414-417, characters 4-54:
414 | ....match tA with
415 |     | Int.LF.Atom _ -> tM
416 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
417 |        Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 422-424, characters 4-24:
422 | ....match h with
423 |     | Int.LF.BVar x -> Int.LF.BVar (x + k - 1)
424 |     | Int.LF.FVar _ -> h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 457-461, characters 4-55:
457 | ....function
458 |     | Int.LF.Atom _ -> (k, tS)
459 |     | Int.LF.PiTyp (_, tA') ->
460 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
461 |        etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Sigma _|TClo _)

File "src/core/lfrecon.ml", lines 464-468, characters 4-57:
464 | ....match tA with
465 |     | Int.LF.Atom _ -> tM
466 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
467 |        dprint (fun () -> "eta - add Lam ");
468 |        Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 613-614, characters 2-33:
613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
614 |   getProjIndex loc cD cPsi recA k
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 617-630, characters 2-19:
617 | ..match h with
618 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
619 | 
620 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
621 |      let tp =
...
627 |      let j = getProjIndexFromType loc cD cPsi tp p in
628 |      dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d    j = %d@\n" k j);
629 |      let k' = ConvSigma.map conv_list k - j + 1 in
630 |      Apx.LF.BVar k'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Proj
  ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
   FPVar (_, _)),
  _)

File "src/core/lfrecon.ml", lines 637-643, characters 7-41:
637 | .......function
638 |        | Apx.LF.Id -> Apx.LF.Id
639 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
640 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
641 |           let s' = go s in
642 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
643 |           Apx.LF.Dot (Apx.LF.Head h', s')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dot (Obj _, _)

File "src/core/lfrecon.ml", lines 679-691, characters 2-38:
679 | ..match s with
680 |   | Apx.LF.Id -> s
681 | 
682 |   | Apx.LF.EmptySub -> s
683 | 
...
688 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
689 | 
690 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
691 |      flattenVarTuple tM (flattenSub s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)

File "src/core/lfrecon.ml", lines 697-698, characters 2-77:
697 | ..function
698 |   | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Root (_, BVar k, App (_, _))

File "src/core/lfrecon.ml", lines 827-829, characters 5-60:
827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 822-829, characters 2-60:
822 | ..function
823 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
824 |   | Apx.LF.Proj (h, nj) ->
825 |      let (tp, h') = synHead cD loc cPsi h in
826 |      let j = getProjIndexFromType loc cD cPsi tp nj in
827 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _))

File "src/core/lfrecon.ml", lines 858-867, characters 5-8:
858 | .....begin match synHead cD loc cPsi h with
859 |      | (Int.LF.TypDecl (x, tA), h') ->
860 |         let tA' =
861 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
862 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
863 |         in
864 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
865 |         , Int.LF.Dot (Int.LF.Head h', s')
866 |         )
867 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypDeclOpt _, _)

File "src/core/lfrecon.ml", lines 884-890, characters 2-66:
884 | ..function
885 |   | Apx.LF.Typ -> Int.LF.Typ
886 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) ->
887 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
888 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
889 |      let tK = elKind cD cPsi' k in
890 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiKind ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 909-925, characters 2-25:
909 | ..function
910 |   | Apx.LF.Atom (loc, a, s) ->
911 |      let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in
912 |      let s' = mkShift recT cPsi in
913 |      (* let s' = S.LF.id in *)
...
922 | 
923 |   | Apx.LF.Sigma typRec ->
924 |      let typRec' = elTypRec recT cD cPsi typRec in
925 |      Int.LF.Sigma typRec'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/lfrecon.ml", lines 977-1023, characters 2-34:
 977 | ..match (m, sA) with
 978 |   | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) ->
 979 |      (* cPsi' = cPsi, x:tA *)
 980 |      let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in
 981 |      let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in
...
1020 |   | (Apx.LF.LFHole (loc, m_name), tA) ->
1021 |      let id = Holes.allocate () in
1022 |      let name = HoleId.name_of_option m_name in
1023 |      Int.LF.LFHole (loc, id, name)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _))

File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12:
1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
1082 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
1083 |          begin
1084 |            try
1085 |              Unify.unifyTyp cD cPsi sQ sP;
...
1088 |            | Unify.Failure msg ->
1089 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1090 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1091 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12:
1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in
1214 |          dprintf
1215 |            begin fun p ->
1216 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
1217 |              Name.pp u
...
1277 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
1278 |            |_ ->
1279 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
1280 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12:
1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in
1477 |          let d = Context.length cD - Context.length cD_d in
1478 |          let (tA, cPhi) =
1479 |            if d = 0
1480 |            then (tA, cPhi)
...
1497 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
1498 |            | _ ->
1499 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
1500 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12:
1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) =
1572 |            Store.FCVar.get p
1573 |          in
1574 |          let d = Context.length cD - Context.length cD_d in
1575 |          let (tA, cPhi) =
...
1604 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1605 |            | _ ->
1606 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1607 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d,
Decl
  {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13:
1808 | ..........begin match S.LF.bvarSub k s'' with
1809 |           | Int.LF.Head (Int.LF.BVar j) ->
1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
1811 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
1812 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit)
1813 |           end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
  FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10:
1806 | .......begin match h with
1807 |        | Int.LF.BVar k ->
1808 |           begin match S.LF.bvarSub k s'' with
1809 |           | Int.LF.Head (Int.LF.BVar j) ->
1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
...
1814 |        | Int.LF.PVar (p, r) ->
1815 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit)
1816 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
1817 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8:
1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
1858 |        try
1859 |          Context.ctxSigmaDec cPsi x
1860 |        with
1861 |        | _ ->
...
1876 |        with
1877 |        | Unify.Failure msg ->
1878 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
1879 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8:
1882 | .....begin
1883 |        match Whnf.mctxPDec cD p with
1884 |        | (_, Int.LF.Sigma recA, cPsi') ->
1885 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
1886 |           let k = getProjIndex loc cD cPsi recA proj in
...
1907 |           end
1908 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
1909 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
1910 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, TClo _, _)

File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15:
1941 | ............begin match S.LF.bvarSub y s'' with
1942 |             | Int.LF.Head (Int.LF.BVar x) ->
1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
1944 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
1945 |                Int.LF.Root
...
1948 |                  , tS
1949 |                  , Plicity.explicit
1950 |                  )
1951 |             end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Head
  (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
  FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12:
1939 | .........begin match h with
1940 |          | Int.LF.BVar y ->
1941 |             begin match S.LF.bvarSub y s'' with
1942 |             | Int.LF.Head (Int.LF.BVar x) ->
1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
...
1956 |               , tS
1957 |               , Plicity.explicit
1958 |               )
1959 |          end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
FPVar _|HClo (_, _, _)|HMClo (_, _))

File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25:
1044 | ..match r with
1045 |   | Apx.LF.Ann (_loc, m, a) ->
1046 |      elTerm' recT cD cPsi m sP
1047 | 
1048 |   | Apx.LF.LFHole (location, m_name) ->
...
1977 | 
1978 |   | Apx.LF.Root (loc, h, _) ->
1979 |      dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h));
1980 |      throw loc CompTypAnn
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|Tuple (_, _))

File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65:
2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
2103 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
2104 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82:
2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
2160 |      let k = getProjIndex loc cD cPsi recA proj in
2161 |      let sA =
2162 |        try
2163 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k
...
2166 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
2167 |      in
2168 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
2169 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))

File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14:
2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) =
2277 |              Store.FCVar.get s_name
2278 |            in
2279 |            svar_le (cl0, cl);
2280 |            let d = Context.length cD - Context.length cD_d in
...
2307 |              with
2308 |              | Unify.Failure msg ->
2309 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
2310 |            end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })

File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40:
2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
2515 |          dprint (fun () -> "[elHead] done");
2516 |          (Int.LF.BVar x, (tA', S.LF.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59:
2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
2575 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
2576 |          (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(offset, ClTyp ((PTyp _|STyp (_, _)), _))

File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41:
2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
2584 |      let s' = elSub loc recT cD cPsi s cl cPhi in
2585 |      (Int.LF.PVar (offset, s'), (tA, s'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(offset, ClTyp ((MTyp _|STyp (_, _)), _))

File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36:
2643 | ....match (sA, recT) with
2644 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) ->
2645 |        (* cPsi' |- tA <= typ
2646 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
2647 |         *
...
2671 |        in
2672 | 
2673 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
2674 |        (Int.LF.App (tN, spine'), sP)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((PiTyp ((TypDeclOpt _, _, _), _), _), _)

File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25:
2705 | ....function
2706 |     | Int.LF.Atom _ -> 0
2707 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
2708 |     | Int.LF.Sigma _ -> 0........................................................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32:
2725 | ....match (spine, Whnf.whnfTyp sA) with
2726 |     | (Apx.LF.Nil, sP) ->
2727 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
2728 | 
2729 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) ->
2730 |        let tM = elTerm recT cD cPsi m (tA, s) in
2731 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
2732 |        (Int.LF.App (tM, tS), sP)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _))

File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30:
2741 | ....match (sK, recT) with
2742 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) ->
2743 |        (* let sshift = mkShift recT cPsi in *)
2744 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
2745 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
...
2757 |            Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive
2758 |        in
2759 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
2760 |        Int.LF.App (tN, spine')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
((PiKind ((TypDeclOpt _, _, _), _), _), _)

File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32:
2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
2835 |      (* cPsi |- tA : type
2836 |       * cPsi |- s' : cPsi'
2837 |       *)
2838 |      let ss = S.LF.invert s' in
...
2860 |      in
2861 | 
2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
2863 |      (Int.LF.App (tN', tS), tB')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32:
2824 | ..match (spine, sP) with
2825 |   | (Apx.LF.Nil, _) ->
2826 |      let ss = S.LF.invert s' in
2827 |      let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
2828 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
...
2860 |      in
2861 | 
2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
2863 |      (Int.LF.App (tN', tS), tB')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(App (Root (loc, BVar x, App (_, _)), _), _)

File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8:
2943 | .....begin match instantiation.contents with
2944 |      | None ->
2945 |         begin
2946 |           try
2947 |             let tA = Store.FVar.get x in
...
2995 |           | _ ->
2996 |              throw loc (UnboundName x)
2997 |         end
2998 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (IHead _|ISub _|ICtx _)

File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8:
2939 | ..function
2940 |   | [] -> ()
2941 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
2942 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
2943 |      begin match instantiation.contents with
...
2995 |           | _ ->
2996 |              throw loc (UnboundName x)
2997 |         end
2998 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Root (loc, FVar x, spine),
Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::
_

File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99:
3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
3021 |          lookup_fcvar loc u
3022 |        in
3023 |        let cPhi = weakenAppropriately cD_d cPhi in
3024 |        let s'' = elSub loc cPsi s cPhi in
3025 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98:
3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) =
3028 |          lookup_fcvar loc x
3029 |        in
3030 |        let cPhi = weakenAppropriately cD_d cPhi in
3031 |        let s'' = elSub loc cPsi s cPhi in
3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })

File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98:
3017 | ....match tM, Int.LF.(v.typ) with
3018 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
3019 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
3020 |        let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
3021 |          lookup_fcvar loc u
...
3030 |        let cPhi = weakenAppropriately cD_d cPhi in
3031 |        let s'' = elSub loc cPsi s cPhi in
3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Reconstruct.cmx -c -impl src/core/reconstruct.ml)
File "src/core/reconstruct.ml", lines 55-179, characters 20-41:
 55 | ....................function
 56 |   | NotImplemented f ->
 57 |       Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]"
 58 |         f ()
 59 |   | MCtxIllformed cD ->
...
176 |         @,  @[%a@]\
177 |         @]"
178 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC_p
179 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
IllegalSubstMatch

File "src/core/reconstruct.ml", lines 217-218, characters 2-45:
217 | ..function
218 |   | Int.LF.Decl d -> Name.mk_some_name d.name
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/reconstruct.ml", lines 258-267, characters 4-26:
258 | ....match tau, n with
259 |     | _, 0 -> 0
260 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n ->
261 |       Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__)
262 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n ->
263 |       1 + skip tau n (* implicits are free *)
264 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n ->
265 |       1 + skip tau (n - 1) (* explicits pi-types cost 1 *)
266 |     | I.TypArr (_, _, tau), n ->
267 |       1 + skip tau (n - 1)..............................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypPiBox (_, DeclOpt _, _), 1)

File "src/core/reconstruct.ml", lines 292-298, characters 9-92:
292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in
293 |          if Id.cid_schema_equal s_cid s_cid'
294 |          then Int.LF.CtxVar (Int.LF.CtxName psi)
295 |          else
296 |            let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in
297 |            let c_var' = Int.LF.CtxName psi in
298 |            Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_, Decl {typ=CTyp None; _ })

File "src/core/reconstruct.ml", lines 343-361, characters 7-10:
343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in
344 |        begin
345 |          let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in
346 |          Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi);
347 |          match Context.ctxVar cPsi with
...
358 |                   }
359 |               )
360 |          | _ -> ()
361 |        end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp None

File "src/core/reconstruct.ml", lines 396-400, characters 2-23:
396 | ..match cG, k with
397 |   | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 ->
398 |      Whnf.cnormCTyp (tau, Whnf.m_id)
399 |   | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k ->
400 |      lookup cG' (k - 1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dec (cG', CTypDeclOpt _), _)

File "src/core/reconstruct.ml", lines 410-416, characters 2-32:
410 | ..function
411 |   | Apx.LF.Empty -> Int.LF.Empty
412 |   | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) ->
413 |      let ctx' = elTypDeclCtx cD ctx in
414 |      let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in
415 |      let typDecl' = Int.LF.TypDecl (name, tA) in
416 |      Int.LF.Dec (ctx', typDecl')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (ctx, TypDeclOpt _)

File "src/core/reconstruct.ml", lines 459-466, characters 20-5:
459 | ....................(Apx.LF.Decl (u, ctyp, plicity)) =
460 |   let ctyp' = elCTyp recT cD ctyp in
461 |   Int.LF.Decl
462 |     { name = u
463 |     ; typ = ctyp'
464 |     ; plicity
465 |     ; inductivity = Inductivity.not_inductive
466 |     }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/reconstruct.ml", lines 519-557, characters 4-26:
519 | ....function
520 |     | (Int.LF.Typ, _s) ->
521 |        Int.LF.Nil
522 | 
523 |     | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) ->
...
554 |            (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s))
555 |          end;
556 |        let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in
557 |        Int.LF.App (tR, tS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind ((TypDeclOpt _, _, _), _), _)

File "src/core/reconstruct.ml", lines 563-575, characters 2-8:
563 | ..function
564 |   | Int.LF.Atom (_, a, _) ->
565 |      mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind
566 | 
567 |   | Int.LF.Sigma trec ->
...
572 |      Int.LF.PiTyp
573 |        ( (tdecl', depend, plicity)
574 |        , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA
575 |        )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TClo _

File "src/core/reconstruct.ml", lines 578-580, characters 2-41:
578 | ..function
579 |   | Int.LF.TypDecl (x, tA) ->
580 |      Int.LF.TypDecl (x, mgTyp cD cPsi tA)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypDeclOpt _

File "src/core/reconstruct.ml", lines 637-640, characters 5-18:
637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
638 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
639 |      in
640 |      Int.LF.PObj h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Root (_, h, (App (_, _)|SClo (_, _)), _)

File "src/core/reconstruct.ml", lines 647-650, characters 5-18:
647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
648 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
649 |      in
650 |      Int.LF.PObj h
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Root (_, h, (App (_, _)|SClo (_, _)), _)

File "src/core/reconstruct.ml", lines 711-727, characters 2-104:
711 | ..match (s, cKt) with
712 |   | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) ->
713 |      Int.Comp.MetaNil
714 | 
715 |   | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) ->
...
724 | 
725 |   | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) ->
726 |      let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in
727 |      Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(MetaApp (_, _), (PiKind (_, DeclOpt _, _), _))

File "src/core/reconstruct.ml", lines 798-803, characters 4-65:
798 | ....function
799 |     | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil
800 |     | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) ->
801 |        let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in
802 |        let mS = genMetaSpine (cK, t') in
803 |        Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PiKind (loc', DeclOpt _, _), _)

File "src/core/reconstruct.ml", lines 830-842, characters 2-49:
830 | ..match cPsi with
831 |   | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) ->
832 |      let (n, sW) = Whnf.mctxCDec cD psi_var in
833 |      let v =
834 |        let open Int.LF in
...
839 |   | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) ->
840 |      let cPsi' = mgCtx cD' (cD, cPsi) in
841 |      let tA' = mgTyp cD' cPsi' tA in
842 |      Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/reconstruct.ml", lines 921-939, characters 7-54:
921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in
922 |        dprintf
923 |          begin fun p ->
924 |          p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\
925 |                 @,mC    = @[%a@]\
...
936 |            (mT, Whnf.m_id)
937 |        with
938 |        | Unify.Failure msg ->
939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)

File "src/core/reconstruct.ml", lines 916-939, characters 4-54:
916 | ....match caseT with
917 |     | DataObj -> () (* not dependent pattern matching; nothing to do *)
918 |     | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) ->
919 |        let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in
920 |        (* tau_p' _has_ to be a box type if caseT is an IndexObj  *)
...
936 |            (mT, Whnf.m_id)
937 |        with
938 |        | Unify.Failure msg ->
939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
IndexObj
  (PatAnn
     (_,
     (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)|
     PatAnn (_, _, _, _)), _, _),
  _)

File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22:
1369 | .......match id with
1370 |        | None -> true
1371 |        | Some Apx.LF.Id -> true
1372 |        | Some Apx.LF.EmptySub ->
1373 |           let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in
1374 |           match cPhi, cPsi with
1375 |           | Int.LF.Null, Int.LF.Null -> true
1376 |           | _ -> false
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Some (Dot (_, _)|SVar (_, _)|FSVar (_, _))

File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9:
1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in
1394 |       let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in
1395 |       let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in
1396 |       let s0' = Substitution.LF.comp s0 s' in
1397 |       begin match s0' with
...
1413 |          else
1414 |            throw loc IllegalSubstMatch
1415 |       | _ -> throw loc IllegalSubstMatch
1416 |       end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _))

File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8:
1421 | .....begin
1422 |        match cpsi with
1423 |        | Apx.LF.CtxVar (ctxvar) ->
1424 |           let c_var = Lfrecon.elCtxVar ctxvar in
1425 |           let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in
...
1439 |                  end
1440 |                |> throw loc
1441 |           end
1442 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Null|CtxHole|DDec (_, _))

File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6:
1194 | ..match i with
1195 |   | Apx.Comp.Var (loc, offset) ->
1196 |      let tau = lookup cG offset in
1197 |      dprintf
1198 |        begin fun p ->
...
1455 |      , ( Int.Comp.TypCross (loc, ttaus')
1456 |        , C.m_id
1457 |        )
1458 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Box
  (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))

File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8:
1524 | ..match (pat, ttau) with
1525 |   | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) ->
1526 |      let tau' = Whnf.cnormCTyp (tau, theta) in
1527 |      dprintf
1528 |        begin fun p ->
...
1597 |        | Unify.Failure msg ->
1598 |           dprint (fun () -> "Unify Error: " ^ msg);
1599 |           raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau')))
1600 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatFVar (_, _), _)

File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57:
1603 | ..function
1604 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
1605 |      let tau' = elCompTyp cD tau in
1606 |      let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in
1607 |      (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id))
...
1610 |      let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in
1611 |      dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c));
1612 |      let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in
1613 |      (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _))

File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8:
1690 | .....begin match ttau with
1691 |      | (Int.Comp.TypCobase (_, _, _), _) ->
1692 |         let { Store.Cid.CompDest.Entry.name
1693 |             ; mctx = cD'
1694 |             ; obs_type = tau0
...
1730 |         let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in
1731 |         (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2)
1732 |      (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *)
1733 |      end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _)

File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68:
1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in
1750 |      let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in
1751 |      let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in
1752 |      let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in
1753 |      let ttau' = (tau', Whnf.m_id) in
1754 |      let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in
1755 |      (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *)
1756 |      (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _))

File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13:
1784 | ..........begin match mT with
1785 |           | Int.LF.(MTyp (Atom _ | Sigma _ as tA))->
1786 |              let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in
1787 |              let tP' = mgTyp cD cPsi' tA in
1788 |              (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi'))
...
1798 |                 fixParamTyp in check.ml, and it is only used for
1799 |                 coverage checking. *)
1800 |              Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible"
1801 |           end
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MTyp (TClo _)

File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5:
2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' =
2085 |     elHypotheses h
2086 |   in
2087 |   dprintf
2088 |     begin fun p ->
...
2103 |     ( loc
2104 |     , h'
2105 |     , elProof cD cG label p ttau
2106 |     )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
{cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}

File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29:
2288 | ...........match k, tA' with
2289 |            | Some k, Int.LF.Sigma tRec ->
2290 |               (* Compute the type of the kth projection of tRec. *)
2291 |               Int.LF.getType h (tRec, LF.id) k
2292 |               |> Whnf.normTyp
...
2298 |                  A projected case #n.k is required.
2299 |                *)
2300 |               assert false
2301 |            | None, tA' -> tA'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _))

File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56:
2339 | .......let Int.LF.MTyp tP = cU in
2340 |        let (cD', (cPsi', tR_p, tA_p), t) =
2341 |          match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with
2342 |          | None -> assert false
2343 |          (* FIXME: throw an appropriate error
...
2417 |          cD_b |- [t o t']tau <= type
2418 |         *)
2419 |        in
2420 |        I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PTyp _|STyp (_, _))

File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57:
2428 | .......let Int.LF.MTyp tA = cU in
2429 |        let (cD', (cPsi', tM, sA), t) =
2430 |          match Coverage.genBVar (cD, cPsi, tA) 1 with
2431 |          | [x] -> x
2432 |          | _ ->
...
2460 |        let l' = `bvar in
2461 |        let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in
2462 |        let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in
2463 |        I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(PTyp _|STyp (_, _))

File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44:
2545 | .....let Some w = w in
2546 |      let ctx_branches = List.map (make_ctx_branch w) bs in
2547 |      I.ContextSplit (i, tau_i, ctx_branches)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17:
2562 | .....let (cD', cG', Int.LF.Empty, tau', _) =
2563 |        Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau)
2564 |      in
2565 |      let hyp =
2566 |        elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id)
2567 |      in
2568 |      I.Intros hyp
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', cG', Dec (_, WfRec (_, _, _)), _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Logic.cmx -c -impl src/core/logic.ml)
File "src/core/logic.ml", lines 190-203, characters 4-36:
190 | ....match tN with
191 |     | LF.Lam (l, n, tN') ->
192 |        begin
193 |          incr lR;
194 |          let tM = LF.Lam (l, n, shiftNormal tN' k) in
...
200 |     | LF.Clo (tN, s) ->
201 |        LF.Clo (shiftNormal tN k, s)
202 |     | LF.Tuple (l, tP) ->
203 |        LF.Tuple (l, shiftTuple tP k)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
LFHole (_, _, _)

File "src/core/logic.ml", lines 241-251, characters 4-8:
241 | ....match tA with
242 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tA') ->
243 |        typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR)
244 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
245 |        typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR)))
...
248 |        { tHead = (Shift.shiftAtom tA (-cS, -dS, dR))
249 |        ; eVars = eV
250 |        ; subGoals = cG
251 |        }
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, Explicit), _)

File "src/core/logic.ml", lines 297-306, characters 4-30:
297 | ....match tA with
298 |     | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') ->
299 |        All (tdec, typToGoal tA' (cS, dS, dR + 1))
300 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) ->
301 |        Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1))
302 |     | LF.Atom _ ->
303 |        Atom (Shift.shiftAtom tA (-cS, -dS, dR))
304 |     | LF.TClo (tA, s) ->
305 |        dprintf begin fun p -> p.fmt "[typToGoal] TClo" end;
306 |        raise NotImplementedYet
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, Explicit), _)

File "src/core/logic.ml", lines 309-315, characters 4-47:
309 | ....match tM with
310 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tM') ->
311 |        Exists (tD, typToRes tM' (cS, dS, dR + 1))
312 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
313 |        And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1))
314 |     | LF.Atom _ ->
315 |        Head (Shift.shiftAtom tM (-cS, -dS, dR))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, Explicit), _)

File "src/core/logic.ml", lines 326-348, characters 4-34:
326 | ....match tau with
327 |     | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) ->
328 |        (* Invariant: tA will always be atomic in our implementation *)
329 |        Box (cPsi, Atom tA, Some M)
330 |        (* possibly needs to have PiBox variables shifted;
...
345 |        let typ_dec = Comp.CTypDecl (name, tau1 , true) in
346 |        Implies ((cr1, typ_dec), cg2)
347 |     | Comp.TypBase (_, comp_cid, s) ->
348 |        Atomic (comp_cid, msToAs s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
TypBox (_, CTyp _)

File "src/core/logic.ml", lines 351-358, characters 4-47:
351 | ....match tau with
352 |     | Comp.TypBox (_) | Comp.TypBase(_) ->
353 |        Base tau
354 |     | Comp.TypArr (_, tau1, tau2) ->
355 |        CAnd (comptypToCompGoal tau1, comptypToCompRes tau2)
356 |     | Comp.TypPiBox (_, typ_dec, tau') ->
357 |        CExists (typ_dec, comptypToCompRes tau')
358 |     | Comp.TypInd tau' -> comptypToCompRes tau'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))

File "src/core/logic.ml", lines 394-402, characters 4-30:
394 | ....match box with
395 |     | Box (cPsi, Atom tA, Some M) ->
396 |        let loc = Location.ghost in
397 |        let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in
398 |        Comp.TypBox (loc, ctyp)
399 |     | Box (cPsi, Atom tA, Some P) ->
400 |        let loc = Location.ghost in
401 |        let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in
402 |        Comp.TypBox (loc, ctyp)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Box (_, Atom _, None)

File "src/core/logic.ml", lines 412-416, characters 4-34:
412 | ....match atomic with
413 |     | Atomic (cid, aS) ->
414 |        let loc = Location.ghost in
415 |        let mS = asToMs aS in
416 |        Comp.TypBase (loc, cid, mS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Box (_, _, _)|Implies ((_, _), _)|Forall (_, _))

File "src/core/logic.ml", lines 434-443, characters 4-10:
434 | ....match tA with
435 |     | LF.Atom _ ->
436 |        let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in
437 |        LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit)
438 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) ->
439 |        LF.Lam
440 |          ( Location.ghost
441 |          , x
442 |          , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s)
443 |          )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
PiTyp ((TypDeclOpt _, _, _), _)

File "src/core/logic.ml", lines 462-470, characters 4-68:
462 | ....match eV with
463 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
464 |        let (s', fS') = dctxToSub cD cPsi (eV', s) fS in
465 |        let tM' = etaExpand cD cPsi (tA, s') in
466 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
467 |     | LF.Null -> (s, fS)
468 |     | LF.CtxVar _ ->
469 |        invalid_arg
470 |          "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _."
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (eV', TypDeclOpt _)

File "src/core/logic.ml", lines 475-481, characters 4-28:
475 | ....match eV with
476 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
477 |        let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in
478 |        let tM' = etaExpand cD cPsi (tA, s') in
479 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
480 |     | LF.Null -> (s, fS)
481 |     | LF.CtxVar _ -> (s, fS)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DDec (eV', TypDeclOpt _)

File "src/core/logic.ml", lines 500-501, characters 6-52:
500 | ......match lst with
501 |       | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 510-513, characters 6-20:
510 | ......match dctx with
511 |       | LF.DDec (dctx', _) -> find_ctxvar_offset dctx'
512 |       | LF.CtxVar (LF.CtxOffset k) -> k
513 |       | LF.Null -> 0
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CtxVar (CtxName _|CInst _)

File "src/core/logic.ml", lines 697-709, characters 9-47:
697 | .........(match mtyp with
698 |          | LF.ClTyp (LF.MTyp _, _) ->
699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
701 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
...
706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
707 |               ((x, (loc, mfront)) :: xs)
708 |          | LF.CTyp cid_opt ->
709 |             comptypToMQuery' (tau', i-1) ms xs)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/core/logic.ml", lines 696-709, characters 9-47:
696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in
697 |          (match mtyp with
698 |          | LF.ClTyp (LF.MTyp _, _) ->
699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
...
706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
707 |               ((x, (loc, mfront)) :: xs)
708 |          | LF.CTyp cid_opt ->
709 |             comptypToMQuery' (tau', i-1) ms xs)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
DeclOpt _

File "src/core/logic.ml", lines 1084-1094, characters 4-72:
1084 | ....match r with
1085 |     | Head tH ->
1086 |        fmt_ppr_typ cD cPsi ppf (tH, s)
1087 |     | And (g, r') ->
1088 |        fprintf ppf "%a -> %a"
...
1091 |     | Exists (LF.TypDecl (_, _tA) as tD, r') ->
1092 |        fprintf ppf "(∃%a. %a)"
1093 |          (fmt_ppr_decl cD cPsi) (tD, s)
1094 |          (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Exists (TypDeclOpt _, _)

File "src/core/logic.ml", lines 1305-1332, characters 4-19:
1305 | ....match s with
1306 |     | LF.Shift _ -> true
1307 |     | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') ->
1308 |        if uninstantiated hd then false
1309 |        else check_sub s'
...
1329 |        if uninstantiated hd then false
1330 |        else check_sub s'
1331 |     | LF.Dot (_, s') ->
1332 |        check_sub s'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/logic.ml", lines 1337-1339, characters 6-48:
1337 | ......match cD with
1338 |       | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity
1339 |       | LF.Dec (cD', _) -> get_plicity cD' (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/logic.ml", lines 1394-1412, characters 4-30:
1394 | ....match g with
1395 |     | Atom tA ->
1396 |        matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth)
1397 | 
1398 |     | Impl ((r, (LF.TypDecl (x, _) as tD)), g') ->
...
1409 |           So we just prove the conclusion in an extended context. *)
1410 |        gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s)
1411 |          (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM)))
1412 |          (currDepth, maxDepth)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Impl ((r, TypDeclOpt _), _)

File "src/core/logic.ml", lines 1444-1446, characters 17-29:
1444 | .................match cltyp with
1445 |          | LF.MTyp tau -> tau
1446 |          | LF.PTyp tau -> tau
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 1439-1483, characters 4-96:
1439 | ....match cD with
1440 |     | LF.Empty -> raise NoSolution
1441 |     | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) ->
1442 |        solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
1443 |     | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) ->
...
1480 |            end
1481 |        with
1482 |        | U.Failure _ ->
1483 |      solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, DeclOpt _)

File "src/core/logic.ml", lines 1496-1600, characters 4-76:
1496 | ....match s with
1497 |     | LF.Shift _ ->
1498 | dprintf begin fun p ->
1499 |             p.fmt "[trivially_prove] s_all = %a"
1500 |               (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all
...
1597 |          with
1598 |          | U.Failure _ | NoSolution -> raise NoSolution)
1599 |     | LF.Dot (_, s') ->
1600 |        trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))

File "src/core/logic.ml", lines 2260-2263, characters 4-25:
2260 | ....match cG with
2261 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name
2262 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) ->
2263 |        get_name (k-1) cG'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG', CTypDeclOpt _)

File "src/core/logic.ml", lines 2337-2340, characters 4-21:
2337 | ....match cdecl with
2338 |     | Comp.CTypDecl (_, tau, _) ->
2339 |        let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
2340 |        (cc, k, Boxed)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/logic.ml", lines 2416-2417, characters 9-57:
2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Full (Full (_, (_, _, _)), (_, _, _))

File "src/core/logic.ml", lines 2407-2418, characters 6-33:
2407 | ......match (cP, cG) with
2408 |       | (Emp, LF.Dec(cG', cdecl)) ->
2409 |          let cc = decToCC cdecl 1 in
2410 |          let cP_ret' = shift_cPool cP_ret 1 in
2411 |          update cP cG' (prependToCPool cc cP_ret') (k+1)
...
2415 |            if pos' = k then unbox cc else cc in
2416 |          let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
2418 |       | (Emp, LF.Empty) -> cP_ret
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Full (cP', cc), Empty)

File "src/core/logic.ml", lines 2470-2476, characters 6-36:
2470 | ......match tA with
2471 |       | LF.Atom (l, cid, sp) ->
2472 |          LF.Atom (l, cid, remove_sp sp)
2473 |       | LF.PiTyp ((td, depend, plicity), tA') ->
2474 |          LF.PiTyp ((td, depend, plicity), remove_typ tA)
2475 |       | LF.TClo (tA', s) ->
2476 |          LF.TClo (remove_typ tA', s)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Sigma _

File "src/core/logic.ml", lines 2495-2508, characters 6-49:
2495 | ......match tau with
2496 |       | Comp.TypBase (l, cid, mS) ->
2497 |          Comp.TypBase (l, cid, remove_mS mS)
2498 |       | Comp.TypBox (l, mT) ->
2499 |          (match mT with
...
2505 |       | Comp.TypArr (l, tau1, tau2) ->
2506 |          Comp.TypArr (l, remove_tau tau1, remove_tau tau2)
2507 |       | Comp.TypPiBox (l, cdec, tau') ->
2508 |          Comp.TypPiBox (l, cdec, remove_tau tau')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _)

File "src/core/logic.ml", lines 2731-2741, characters 9-52:
2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
2732 |          let mmvar' =
2733 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
2734 |              mmvar.LF.inductivity in
2735 |          let norm = LF.Root (noLoc,
...
2738 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
2739 |          let x = Comp.M ((noLoc, mf), mT) in
2740 |          let (xs, sub) = gen_new_ih_args lst' ys in
2741 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/logic.ml", lines 2752-2762, characters 9-52:
2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
2753 |          let mmvar' =
2754 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
2755 |              mmvar.LF.inductivity in
2756 |          let norm = LF.Root (noLoc, LF.MMVar
...
2759 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
2760 |          let x = Comp.M ((noLoc, mf), mT) in
2761 |          let (xs, sub) = gen_new_ih_args lst' ys in
2762 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((PTyp _|STyp (_, _)), _)

File "src/core/logic.ml", lines 2771-2779, characters 9-58:
2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in
2772 |          let mmvar' =
2773 |            Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
2774 |              mmvar.LF.inductivity in
2775 |          let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in
2776 |          let mf = LF.ClObj (dctx_hat, LF.PObj hd) in
2777 |          let x = Comp.M ((noLoc, mf), mT) in
2778 |          let (xs, sub) = gen_new_ih_args lst' ys in
2779 |          (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp ((MTyp _|STyp (_, _)), _)

File "src/core/logic.ml", lines 2842-2843, characters 11-44:
2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in
2843 |            (loc, LF.ClObj (dh, LF.PObj hd'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/logic.ml", lines 2920-2921, characters 6-42:
2920 | ......match i with
2921 |       | Comp.Var(l, k) -> Comp.Var(l, k+1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))|
LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)|
Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)|
Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)|
AnnBox (_, (_, _), _))

File "src/core/logic.ml", lines 2977-2978, characters 6-37:
2977 | ......match cltyp with
2978 |       | LF.MTyp tA | LF.PTyp tA -> tA
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 2998-3001, characters 6-58:
2998 | ......match cG_a with
2999 |       | [] -> false
3000 |       | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' ->
3001 |          (Name.equal name name2) || (old_split name cG_a')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(CTypDeclOpt _, _, _, _, _, _)::_

File "src/core/logic.ml", lines 3005-3009, characters 6-37:
3005 | ......match cG_a with
3006 |       | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a'
3007 |            when Name.equal name name2 ->
3008 |          (con, thm, bool)
3009 |       | x :: xs -> find_split name xs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3013-3065, characters 6-30:
3013 | ......match (cG, cPool) with
3014 |       | (LF.Dec(cG',
3015 |                 ((Comp.CTypDecl (name, Comp.TypBox
3016 |                                          (_, LF.ClTyp (cltyp, cPsi)), _wf))
3017 |                  as cdecl)),
...
3062 |       | (LF.Dec (cG', _), Full (cPool', _)) ->
3063 |          update (cG', cPool', ret)
3064 | 
3065 |       | (LF.Empty, Emp) -> ret
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Dec (cG', _), Emp)

File "src/core/logic.ml", lines 3084-3087, characters 6-38:
3084 | ......match cD_a with
3085 |       | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a'
3086 |            when Name.equal d.name n -> x
3087 |       | _ :: cD_a' -> retrieve n cD_a'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3103-3108, characters 21-41:
3103 | .....................match cltyp with
3104 |            | LF.MTyp tA ->
3105 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
3106 |                                 LF.Nil, Plicity.explicit))
3107 |            | LF.PTyp tA ->
3108 |               LF.PObj (LF.PVar (1, S.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3094-3118, characters 9-31:
3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
3095 |            retrieve name cD_a in
3096 |          let (con', bool') =
3097 |            if bool then
3098 |               try
...
3115 |          let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in
3116 |          let x = (tdecl', Some i, con', 1, thm, bool') in
3117 |          let ret' = shift_cD_a ret in
3118 |          update cD' (x :: ret')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(DeclOpt _, _, _, _, _, _)

File "src/core/logic.ml", lines 3126-3131, characters 21-41:
3126 | .....................match cltyp with
3127 |            | LF.MTyp tA ->
3128 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
3129 |                                 LF.Nil, Plicity.explicit))
3130 |            | LF.PTyp tA ->
3131 |               LF.PObj (LF.PVar (1, S.id))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3090-3157, characters 6-23:
3090 | ......match cD with
3091 |       | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp)
3092 |                                ; plicity = Plicity.Explicit; _ }) as tdecl))
3093 |            when is_in name cD_a ->
3094 |          let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
...
3154 |          let x = (tdecl', None, con, 1, None, bool) in
3155 |          let ret' = shift_cD_a ret in
3156 |          update cD' (x :: ret')
3157 |       | LF.Empty -> ret
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (_, DeclOpt _)

File "src/core/logic.ml", lines 3243-3251, characters 6-44:
3243 | ......match cG_a with
3244 |       | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a'
3245 |            when Name.equal name n ->
3246 |          (tau, i, thm_var,
3247 |           (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false)
3248 |           :: cG_a', k)
3249 |       | x :: cG_a' ->
3250 |          let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in
3251 |          (tau, i, thm_var, x :: cG_a'', pos)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3256-3264, characters 6-39:
3256 | ......match cD_a with
3257 |       | (LF.Decl d, Option.Some i, no, k, thm_var, true)
3258 |         :: cD_a' when Name.equal name d.name ->
3259 |          let tau = Comp.TypBox(noLoc, d.typ) in
3260 |          (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false)
3261 |                      :: cD_a')
3262 |       | x :: cD_a' ->
3263 |          let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in
3264 |          (tau, i, thm_var, x :: cD_a'')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3330-3332, characters 9-42:
3330 | .........let (Some n) = find_mvar k cD_a in
3331 |          let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in
3332 |          (tau, i, thm_var, cD_a', cG_a, 0).
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 3358-3365, characters 8-50:
3358 | ........match cG_a with
3359 |         | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool)
3360 |           :: cG_a' when Name.equal name name2 ->
3361 |            (cdecl, con, thm, bool, cG_a')
3362 |         | x :: xs ->
3363 |            let (tdecl, num, thm_var, bool, cG_a') =
3364 |              remove xs in
3365 |            (tdecl, num, thm_var, bool, x :: cG_a')
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 3374-3399, characters 7-25:
3374 | .......(match cltyp with
3375 |        | LF.MTyp tA ->
3376 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in
3377 |           let norm =
3378 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
...
3396 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
3397 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
3398 |                       :: (shift_cD_a cD_a) in
3399 |           (cD_a', cG_a'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3403-3428, characters 7-25:
3403 | .......(match cltyp with
3404 |        | LF.MTyp _ ->
3405 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in
3406 |           let norm =
3407 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
...
3425 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
3426 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
3427 |                       :: (shift_cD_a cD_a) in
3428 |           (cD_a', cG_a'))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3489-3525, characters 7-31:
3489 | .......(match cltyp with
3490 |         | LF.MTyp _ ->
3491 |           let norm =
3492 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
3493 |                      LF.Nil, plicity) in
...
3522 |             | false -> None
3523 |           in
3524 |           (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true)
3525 |           :: (shift_cD_a cD_a))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
STyp (_, _)

File "src/core/logic.ml", lines 3646-3651, characters 4-46:
3646 | ....match cG with
3647 |     | LF.Empty -> cPool
3648 |     | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) ->
3649 |        let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
3650 |        let cc = (clause, (lengthCPool cPool) + 1, Boxed) in
3651 |        gen_cPool cG' (prependToCPool cc cPool)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG', CTypDeclOpt _)

File "src/core/logic.ml", lines 3898-3900, characters 6-46:
3898 | ......match cD with
3899 |       | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name
3900 |       | LF.Dec (cD', _) -> find_name cD' (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/logic.ml", lines 4037-4047, characters 22-64:
4037 | ......................match mobj with
4038 |         | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
4039 |           | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) ->
4040 |            mmvar.LF.instantiation :=
4041 |              Some (LF.INorm (LF.Root (noLoc,
...
4044 |         | LF.PObj LF.MPVar ((mmvar, _), _)
4045 |           | LF.PObj LF.MMVar ((mmvar, _), _) ->
4046 |            mmvar.LF.instantiation :=
4047 |              Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0)))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MObj
  (Root
     (_,
     (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
     FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _))

File "src/core/logic.ml", lines 4051-4057, characters 6-26:
4051 | ......match ih_args with
4052 |       | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs ->
4053 |          if Solver.uninstantiated hd then mobj else grab xs
4054 |       | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _))
4055 |         :: xs->
4056 |          if Solver.uninstantiated hd then mobj else grab xs
4057 |       | _ :: xs -> grab xs
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]

File "src/core/logic.ml", lines 4060-4064, characters 14-56:
4060 | ..............match mobj with
4061 |       | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
4062 |       | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _))
4063 |       | LF.PObj LF.MPVar ((mmvar, _), _)
4064 |       | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ...
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MObj
  (Root
     (_,
     (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|
     FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)|
     HMClo (_, (({instantiation=_; constraints=_; _ }, _), _))), _, _))

File "src/core/logic.ml", lines 4079-4090, characters 6-88:
4079 | ......let Some cid = thm_cid in
4080 |       let i = Comp.Const(noLoc, cid) in
4081 |       let sc' = (fun e -> sc (Comp.Case (noLoc,
4082 |                                        Comp.PragmaNotCase,
4083 |                                        Whnf.cnormExp (fS i, LF.MShift 0),
...
4087 |                                                      pattern,
4088 |                                                      LF.MShift 0,
4089 |                                                      e)]))) in
4090 |       find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all'
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 4126-4128, characters 21-40:
4126 | .....................match (currDepth, maxDepth) with
4127 |         | (Some k, None) -> (k, 0)
4128 |         | (Some k1, Some k2) -> (k1, k2)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(None, _)

File "src/core/logic.ml", lines 4290-4311, characters 9-83:
4290 | .........let Some cid = thm_cid in
4291 |          let i = arg_builder (Comp.Const(noLoc, cid)) in
4292 |          let (ms', fS) =
4293 |            C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in
4294 |          let ms'' = rev_ms ms' 0 in
...
4308 |          with
4309 |          | U.Failure _ | DepthReached _ | End_Of_Search ->
4310 |          focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
4311 |            (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 4595-4597, characters 6-57:
4595 | ......match cG with
4596 |       | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau
4597 |       | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/core/logic.ml", lines 4895-4905, characters 10-31:
4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool,
4896 |                 ms_b, pat, td_b, cid)] = blist in
4897 | 
4898 |           invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b
4899 |             (normCompGoal (cg, ms)) ms_b
...
4902 |                              [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat,
4903 |                                           ms_b, e)])))
4904 |             (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
4905 |             (ind, thm, td, cid)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid)::
(_, _, _, _, _, _, _, _, _, _, _, _)::_

File "src/core/logic.ml", lines 4976-5015, characters 7-35:
4976 | .......let Atom tA = g' in
4977 |        let cltyp = LF.MTyp tA in
4978 |        let sc' =
4979 |          (fun (cPsi', tM) ->
4980 |            let dctx_hat = Context.dctxToHat cPsi' in
...
5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5014 |                  (ind, thm, td, thm_cid);
5015 |                raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Impl ((_, _), _)|All (_, _))

File "src/core/logic.ml", lines 4975-5015, characters 7-35:
4975 | .......let Box(cPsi',g',_) = cg' in
4976 |        let Atom tA = g' in
4977 |        let cltyp = LF.MTyp tA in
4978 |        let sc' =
4979 |          (fun (cPsi', tM) ->
...
5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5014 |                  (ind, thm, td, thm_cid);
5015 |                raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))

File "src/core/logic.ml", lines 5024-5029, characters 11-51:
5024 | ...........let LF.Root (_,hd,_,_) = tM in
5025 |            let dctx_hat = Context.dctxToHat cPsi' in
5026 |            let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in
5027 |            let meta_obj = (noLoc, mfront) in
5028 |            let meta_typ = LF.ClTyp (cltyp, cPsi') in
5029 |            sc (Comp.Box(noLoc, meta_obj, meta_typ)).
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))

File "src/core/logic.ml", lines 5020-5060, characters 7-34:
5020 | .......let Atom tA = g' in
5021 |        let cltyp = LF.PTyp tA in
5022 |        let sc' =
5023 |          (fun (cPsi', tM) ->
5024 |            let LF.Root (_,hd,_,_) = tM in
...
5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5059 |                 (ind, thm, td, thm_cid);
5060 |               raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Impl ((_, _), _)|All (_, _))

File "src/core/logic.ml", lines 5019-5060, characters 7-34:
5019 | .......let Box(_,g',_) = cg' in
5020 |        let Atom tA = g' in
5021 |        let cltyp = LF.PTyp tA in
5022 |        let sc' =
5023 |          (fun (cPsi', tM) ->
...
5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5059 |                 (ind, thm, td, thm_cid);
5060 |               raise End_Of_Search)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))

File "src/core/logic.ml", lines 4969-5085, characters 4-30:
4969 | ....match cg with
4970 |     | Box (cPsi, g, Some M) ->
4971 |        (* We apply the msub here in case there are FREE MVARS that
4972 |           appear from unify   *)
4973 |        let ms = Whnf.cnormMSub ms in
...
5082 |            split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
5083 |              (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
5084 |              (ind, thm, td, thm_cid);
5085 |            raise End_Of_Search
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Box (_, _, None)

File "src/core/logic.ml", lines 5223-5246, characters 7-36:
5223 | .......let Some cid = thm_cid in
5224 |        let cIH_all' = Total.shift cIH_all in
5225 |        let cIH'' = Total.shift cIH' in
5226 |        let i = Comp.Const(noLoc, cid) in
5227 |        (try
...
5243 |        | End_Of_Search | DepthReached _ ->
5244 |           blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
5245 |             (cDepth, mDepth, currSplitDepth, maxSplitDepth)
5246 |             (ind, thm, td, thm_cid))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5263-5286, characters 7-32:
5263 | .......let Some cid = thm_cid in
5264 |        let i = Comp.Const(noLoc, cid) in
5265 |        let cIH'' = Total.shift cIH' in
5266 |        let cIH_all' = Total.shift cIH_all in
5267 |        let exp = Whnf.cnormExp (fS i, LF.MShift 0) in
...
5283 |        in
5284 |        blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc'
5285 |          (cDepth, mDepth, currSplitDepth, maxSplitDepth)
5286 |          (ind, thm, td, thm_cid)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5393-5394, characters 6-46:
5393 | ......match cp with
5394 |       | (_cc, _k, Boxed) -> (_cc, _k, Unboxed)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(_cc, _k, Unboxed)

File "src/core/logic.ml", lines 5441-5458, characters 10-49:
5441 | ..........match r with
5442 |           | LF.ClTyp (LF.MTyp _, cPsi) ->
5443 |              let tM =
5444 |                LF.Root
5445 |                  ( noLoc
...
5455 |              LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)),
5456 |                        LF.PObj hd)
5457 |           | LF.CTyp _ ->
5458 |              LF.CObj (LF.CtxVar (LF.CtxOffset 1))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/core/logic.ml", lines 5549-5554, characters 7-37:
5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in
5550 |        let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in
5551 |        let cIH' = Total.shift cIH in
5552 |        uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc'
5553 |          (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1)
5554 |          (ind, thm, td, thm_cid) blur
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTypDeclOpt _

File "src/core/logic.ml", lines 5587-5590, characters 24-19:
5587 | ........................match sp with
5588 |       | 0 -> Some 0  (* No splitting.    *)
5589 |       | 1 -> None    (* Only inversions. *)
5590 |       | 2 -> Some 1........................
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
3

File "src/core/logic.ml", lines 5795-5798, characters 9-40:
5795 | .........let Some iterm = !(mmvar.LF.instantiation) in
5796 |          (match iterm with
5797 |          | LF.IHead hd -> hd
5798 |          | _ -> raise NotImplementedYet)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5800-5803, characters 9-40:
5800 | .........let Some iterm = !(mmvar.LF.instantiation) in
5801 |          (match iterm with
5802 |          | LF.IHead hd -> hd
5803 |          | _ -> raise NotImplementedYet)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5805-5808, characters 9-40:
5805 | .........let Some iterm = !(mmvar.LF.instantiation) in
5806 |          (match iterm with
5807 |          | LF.IHead hd -> hd
5808 |          | _ -> raise NotImplementedYet)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5834-5835, characters 11-16:
5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in
5835 |            iterm
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5837-5838, characters 11-16:
5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in
5838 |            iterm
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5840-5841, characters 11-16:
5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in
5841 |            iterm
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
None

File "src/core/logic.ml", lines 5847-5849, characters 9-33:
5847 | .........(match remove_head_mvars hd with
5848 |          | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p)
5849 |          | LF.INorm norm -> norm)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(ISub _|ICtx _)

File "src/core/logic.ml", lines 6066-6076, characters 8-33:
6066 | ........match tau with
6067 |         | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n
6068 |         | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1)
6069 |         | Comp.TypInd (_) -> Option.some n
6070 |         | Comp.TypBox (_, _) -> Option.none
...
6073 |            let ind = ind_index tau1 n in
6074 |            match ind with
6075 |            | Option.None -> ind_index tau2 (n + 1)
6076 |            | Option.Some _ -> ind
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/native/harpoon__Translate.cmx -c -impl src/harpoon/translate.ml)
File "src/harpoon/translate.ml", lines 25-26, characters 5-58:
25 | .....let LF.Dec (cG', Comp.CTypDecl (x, _, _)) = cG' in
26 |      (cD', cG', fun e -> Comp.Fn (Location.ghost, x, f e))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cG', CTypDeclOpt _)

File "src/harpoon/translate.ml", lines 29-33, characters 5-6:
29 | .....let LF.Dec (cD', LF.Decl { name = x; plicity; _ }) = cD' in
30 |      ( cD'
31 |      , cG'
32 |      , fun e -> Comp.MLam (Location.ghost, x, f e, plicity)
33 |      )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Dec (cD', DeclOpt _)

File "src/harpoon/translate.ml", lines 56-68, characters 10-40:
56 | ..........match cU with
57 |           | (ClTyp ( (MTyp _ | PTyp _), cPsi )) ->
58 |              let tM =
59 |                Root
60 |                  ( Location.ghost
...
65 |              in
66 |              ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, t)), MObj tM)
67 |           | CTyp _ ->
68 |              CObj (CtxVar (CtxOffset 1))
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
ClTyp (STyp (_, _), _)

File "src/harpoon/translate.ml", lines 131-149, characters 5-8:
131 | .....let (cD', cG', LF.Empty, tau', t) =
132 |        Check.Comp.unroll cD cG LF.Empty tau
133 |      in
134 |      (* cD' |- t : cD
135 |         is a weakening meta-substitution *)
...
146 |          P.(fmt_ppr_cmp_gctx cD_orig l0) cG_orig
147 |          end;
148 |      assert (Whnf.convMCtx cD_orig cD && Whnf.convGCtx (cG_orig, Whnf.m_id) (cG, t));
149 |      f e
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(cD', cG', Dec (_, WfRec (_, _, _)), _, _)
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/native/harpoon__Tactic.cmx -c -impl src/harpoon/tactic.ml)
File "src/harpoon/tactic.ml", lines 227-231, characters 7-55:
227 | .......match cG with
228 |        | LF.Dec (cG', Comp.CTypDecl (n, tA, _)) when k == 1 ->
229 |           LF.Dec (cG', Comp.CTypDecl (n, tA, false))
230 |        | LF.Dec (cG', decl) ->
231 |           LF.Dec (unmark_inductive_var cG' (k-1), decl)
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
Empty

File "src/harpoon/tactic.ml", lines 453-468, characters 12-72:
453 | ............let LF.(MObj (Root (_, h, _, _))) = tM in
454 |             match h with
455 |             | LF.PVar (n, s) -> `pvar None
456 |             | LF.(Proj (PVar (n, s), k)) -> `pvar (Some k)
457 |             | LF.Const cid -> `ctor cid
...
465 |                    P.(fmt_ppr_cmp_pattern cD cG l0) pat
466 |                  end;
467 |                  Error.raise_violation
468 |                  "[make_meta_branch] head neither pvar (proj) nor const"
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
MObj (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/native/harpoon__Automation.cmx -c -impl src/harpoon/automation.ml)
File "src/harpoon/automation.ml", lines 107-115, characters 7-10:
107 | .......let LF.ClTyp (_, cPsi) as cU = Whnf.cnormMTyp (cU, t) in
108 |        let head = MVar (Offset idx, S.LF.id) in
109 |        let clobj = MObj (Root (Location.ghost, head, Nil, Plicity.explicit)) in
110 |        let psi_hat = Context.dctxToHat cPsi in
111 |        Box
112 |          ( Location.ghost
113 |          , (Location.ghost, ClObj (psi_hat, clobj))
114 |          , cU
115 |          )
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
CTyp _
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.main.eobjs/byte -I src/harpoon/.main.eobjs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -o src/harpoon/.main.eobjs/native/dune__exe__Main.cmx -c -impl src/harpoon/main.ml)
File "src/harpoon/main.ml", lines 15-39, characters 2-71:
15 | ..let (arg0 :: args) = Array.to_list Sys.argv in
16 |   let open Options in
17 |   let options = parse_arguments args in
18 | 
19 |   if Debug.is_enabled () then Debug.init (Option.some "debug.out");
...
36 |   Repl.start
37 |     (disambiguation_states, last_disambiguation_state)
38 |     (indexing_states, last_indexing_state)
39 |     options.save_back options.test_stop options.path all_paths stubs io
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
[]
2025-03-03 14:30.46 ---> saved as "810307b6205a383872085490a7ae8d647ce3483d94e97484fa561b5401df1aaa"
Job succeeded