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


Building on asteria.caelum.ci.dev

(from ocaml/opam:debian-unstable)
Unable to find image 'ocaml/opam:debian-unstable' locally
debian-unstable: Pulling from ocaml/opam
5bfb8b57cc63: Pulling fs layer
5bfb8b57cc63: Verifying Checksum
5bfb8b57cc63: Download complete
5bfb8b57cc63: Pull complete
Digest: sha256:c4b67ce89e60dc436d8d0c2ab8c32374ac9ea098ee284c206f7818aedc9b0470
Status: Downloaded newer image for ocaml/opam:debian-unstable
2025-06-02 18:54.33 ---> 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-06-02 18:54.33 ---> 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 f7c62d8b58219a7acd28190fe0201d4936b925dc"))
2025-06-02 18:54.33 ---> using "8ec8fb3b01920805c5882225a060245d1e01b7f8a58452744d80fb4d9c84a3bb" 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-06-02 18:54.33 ---> using "5056a2e943e16023d9efb7b6072ad686303918b43171b6ec17c275a75e483e0c" 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-dune' '5.3.0'"))

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "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-dune)
2025-06-02 18:54.33 ---> using "41d02235938b3656a61bde013c8f42923117467d695b98e386543c081bf5db2a" from cache

/: (run (network host)
        (shell "opam update --depexts"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian unstable InRelease [208 kB]
- Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2025-06-02-1403.59-F-2025-06-01-0803.54.pdiff [20.0 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2025-06-02-1403.59-F-2025-06-01-0803.54.pdiff [20.0 kB]
- Fetched 292 kB in 1s (224 kB/s)
- Reading package lists...
2025-06-02 18:54.33 ---> using "b0cd07434375db6604406f18f965a6c279255458c60838a23b112a3006dafc94" 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.19.0

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

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.19.0  (cached)
-> installed dune.3.19.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-06-02 18:54.33 ---> using "7356a21f688af1029bba84f7d15d4839a804c28223967275a49a5188ebbd5ca3" 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"))

##################################                                        48.4%
######################################################################## 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-06-02 18:54.33 ---> using "088b741a9b0de263c3a24a6306c6854cf5ddcded87c6204eb385b8f376b0d0f8" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
        (network host)
        (shell "mkdir /tmp/sexp && cd /tmp/sexp && opam switch create ./ ocaml-base-compiler.5.2.1 --no-install && opam install -y sexp && cd -"))

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

<><> 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-base-compiler.5.2.1  (cached)
-> installed ocaml-base-compiler.5.2.1
-> installed ocaml-config.3
-> installed ocaml.5.2.1
-> installed base-domains.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env)
The following actions will be performed:
=== install 101 packages
  - install angstrom                    0.16.1    [required by jsonaf]
  - install async                       v0.17.0   [required by sexp]
  - install async_kernel                v0.17.0   [required by async]
  - install async_log                   v0.17.0   [required by async]
  - install async_rpc_kernel            v0.17.0   [required by async]
  - install async_unix                  v0.17.0   [required by async]
  - install base                        v0.17.2   [required by jsonaf, sexp_select]
  - install base_bigstring              v0.17.0   [required by core]
  - install base_quickcheck             v0.17.0   [required by core]
  - install bigstringaf                 0.10.0    [required by angstrom, faraday]
  - install bin_prot                    v0.17.0-1 [required by core]
  - install capitalization              v0.17.0   [required by ppx_string_conv]
  - install conf-g++                    1.0       [required by re2]
  - install core                        v0.17.1   [required by sexp]
  - install core_kernel                 v0.17.0   [required by sexp]
  - install core_unix                   v0.17.1   [required by sexp]
  - install csexp                       1.5.2     [required by dune-configurator]
  - install cstruct                     6.2.0     [required by async_unix]
  - install csvfields                   v0.17.0   [required by sexp]
  - install dune                        3.19.0    [required by sexp]
  - install dune-configurator           3.19.0    [required by bigstringaf]
  - install expect_test_helpers_core    v0.17.0   [required by core_unix]
  - install faraday                     0.8.2     [required by jsonaf]
  - install fieldslib                   v0.17.0   [required by core]
  - install fmt                         0.10.0    [required by cstruct]
  - install gel                         v0.17.0   [required by async_rpc_kernel]
  - install int_repr                    v0.17.0   [required by core_kernel]
  - install jane-street-headers         v0.17.0   [required by core]
  - install jane_rope                   v0.17.0   [required by re2]
  - install jsonaf                      v0.17.0   [required by sexp]
  - install jst-config                  v0.17.0   [required by shell]
  - install num                         1.5-1     [required by csvfields]
  - install ocaml-compiler-libs         v0.17.0   [required by ppxlib]
  - install ocaml-syntax-shims          1.0.0     [required by angstrom]
  - install ocaml_intrinsics_kernel     v0.17.1   [required by base]
  - install ocamlbuild                  0.16.1    [required by uutf]
  - install ocamlfind                   1.9.8     [required by uutf]
  - install parsexp                     v0.17.0   [required by sexplib]
  - install ppx_assert                  v0.17.0   [required by core]
  - install ppx_base                    v0.17.0   [required by core]
  - install ppx_bench                   v0.17.0   [required by ppx_jane]
  - install ppx_bin_prot                v0.17.0   [required by ppx_jane]
  - install ppx_cold                    v0.17.0   [required by ppx_base]
  - install ppx_compare                 v0.17.0   [required by ppx_diff]
  - install ppx_custom_printf           v0.17.0   [required by ppx_jane]
  - install ppx_derivers                1.2.1     [required by ppxlib]
  - install ppx_diff                    v0.17.0   [required by core]
  - install ppx_disable_unused_warnings v0.17.0   [required by ppx_jane]
  - install ppx_enumerate               v0.17.0   [required by ppx_diff]
  - install ppx_expect                  v0.17.2   [required by ppx_jane]
  - install ppx_fields_conv             v0.17.0   [required by ppx_jane]
  - install ppx_fixed_literal           v0.17.0   [required by ppx_jane]
  - install ppx_globalize               v0.17.0   [required by ppx_base]
  - install ppx_hash                    v0.17.0   [required by core]
  - install ppx_here                    v0.17.0   [required by ppx_jane]
  - install ppx_ignore_instrumentation  v0.17.0   [required by ppx_jane]
  - install ppx_inline_test             v0.17.0   [required by core]
  - install ppx_jane                    v0.17.0   [required by sexp]
  - install ppx_let                     v0.17.0   [required by ppx_jane]
  - install ppx_log                     v0.17.0   [required by ppx_jane]
  - install ppx_module_timer            v0.17.0   [required by ppx_jane]
  - install ppx_optcomp                 v0.17.0   [required by core_kernel, core, async_unix]
  - install ppx_optional                v0.17.0   [required by ppx_jane]
  - install ppx_pipebang                v0.17.0   [required by ppx_jane]
  - install ppx_sexp_conv               v0.17.0   [required by core]
  - install ppx_sexp_message            v0.17.0   [required by core]
  - install ppx_sexp_value              v0.17.0   [required by ppx_jane]
  - install ppx_stable                  v0.17.0   [required by ppx_jane]
  - install ppx_stable_witness          v0.17.0   [required by ppx_jane]
  - install ppx_string                  v0.17.0   [required by ppx_jane]
  - install ppx_string_conv             v0.17.0   [required by ppx_jane]
  - install ppx_tydi                    v0.17.0   [required by ppx_jane]
  - install ppx_typerep_conv            v0.17.0   [required by ppx_jane]
  - install ppx_variants_conv           v0.17.0   [required by ppx_jane]
  - install ppxlib                      0.35.0    [required by ppx_diff]
  - install ppxlib_jane                 v0.17.0   [required by ppx_diff]
  - install protocol_version_header     v0.17.0   [required by async_rpc_kernel]
  - install re                          1.12.0    [required by expect_test_helpers_core]
  - install re2                         v0.17.0   [required by sexp]
  - install regex_parser_intf           v0.17.0   [required by re2]
  - install seq                         base      [required by re]
  - install sexp                        v0.17.0
  - install sexp_diff                   v0.17.0   [required by sexp]
  - install sexp_macro                  v0.17.0   [required by sexp]
  - install sexp_pretty                 v0.17.0   [required by sexp]
  - install sexp_select                 v0.17.0   [required by sexp]
  - install sexplib                     v0.17.0   [required by sexp]
  - install sexplib0                    v0.17.0   [required by base]
  - install shell                       v0.17.0   [required by sexp]
  - install spawn                       v0.17.0   [required by shell]
  - install splittable_random           v0.17.0   [required by core]
  - install stdio                       v0.17.0   [required by core]
  - install stdlib-shims                0.3.0     [required by ppxlib]
  - install textutils                   v0.17.0   [required by async, shell]
  - install time_now                    v0.17.0   [required by core]
  - install timezone                    v0.17.0   [required by async_log]
  - install topkg                       1.0.8     [required by uutf]
  - install typerep                     v0.17.1   [required by core]
  - install uopt                        v0.17.0   [required by core_kernel]
  - install uutf                        1.0.4     [required by textutils]
  - install variantslib                 v0.17.0   [required by core]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved async.v0.17.0  (cached)
-> retrieved async_kernel.v0.17.0  (cached)
-> retrieved async_log.v0.17.0  (cached)
-> retrieved async_rpc_kernel.v0.17.0  (cached)
-> retrieved async_unix.v0.17.0  (cached)
-> retrieved base.v0.17.2  (cached)
-> retrieved base_bigstring.v0.17.0  (cached)
-> retrieved base_quickcheck.v0.17.0  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved capitalization.v0.17.0  (cached)
-> retrieved bin_prot.v0.17.0-1  (cached)
-> retrieved core_kernel.v0.17.0  (cached)
-> retrieved core.v0.17.1  (cached)
-> installed conf-g++.1.0
-> retrieved core_unix.v0.17.1  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved cstruct.6.2.0  (cached)
-> retrieved csvfields.v0.17.0  (cached)
-> retrieved expect_test_helpers_core.v0.17.0  (cached)
-> retrieved faraday.0.8.2  (cached)
-> retrieved fieldslib.v0.17.0  (cached)
-> retrieved gel.v0.17.0  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved int_repr.v0.17.0  (cached)
-> retrieved jane-street-headers.v0.17.0  (cached)
-> retrieved jane_rope.v0.17.0  (cached)
-> retrieved jsonaf.v0.17.0  (cached)
-> retrieved jst-config.v0.17.0  (cached)
-> retrieved num.1.5-1  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved parsexp.v0.17.0  (cached)
-> retrieved ppx_assert.v0.17.0  (cached)
-> retrieved ppx_base.v0.17.0  (cached)
-> retrieved ppx_bench.v0.17.0  (cached)
-> retrieved ppx_bin_prot.v0.17.0  (cached)
-> retrieved ppx_cold.v0.17.0  (cached)
-> retrieved ppx_compare.v0.17.0  (cached)
-> retrieved ppx_custom_printf.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_disable_unused_warnings.v0.17.0  (cached)
-> retrieved ppx_diff.v0.17.0  (cached)
-> retrieved ppx_enumerate.v0.17.0  (cached)
-> retrieved ppx_fields_conv.v0.17.0  (cached)
-> retrieved ppx_expect.v0.17.2  (cached)
-> retrieved ppx_fixed_literal.v0.17.0  (cached)
-> retrieved ppx_globalize.v0.17.0  (cached)
-> retrieved ppx_hash.v0.17.0  (cached)
-> retrieved ppx_here.v0.17.0  (cached)
-> retrieved ppx_ignore_instrumentation.v0.17.0  (cached)
-> retrieved ppx_inline_test.v0.17.0  (cached)
-> retrieved ppx_jane.v0.17.0  (cached)
-> retrieved ppx_let.v0.17.0  (cached)
-> retrieved ppx_log.v0.17.0  (cached)
-> retrieved dune.3.19.0, dune-configurator.3.19.0  (cached)
-> installed num.1.5-1
-> retrieved ppx_module_timer.v0.17.0  (cached)
-> retrieved ppx_optcomp.v0.17.0  (cached)
-> retrieved ppx_optional.v0.17.0  (cached)
-> retrieved ppx_pipebang.v0.17.0  (cached)
-> retrieved ppx_sexp_message.v0.17.0  (cached)
-> retrieved ppx_sexp_conv.v0.17.0  (cached)
-> retrieved ppx_sexp_value.v0.17.0  (cached)
-> retrieved ppx_stable.v0.17.0  (cached)
-> retrieved ppx_stable_witness.v0.17.0  (cached)
-> retrieved ppx_string.v0.17.0  (cached)
-> retrieved ppx_string_conv.v0.17.0  (cached)
-> retrieved ppx_tydi.v0.17.0  (cached)
-> retrieved ppx_typerep_conv.v0.17.0  (cached)
-> retrieved ppx_variants_conv.v0.17.0  (cached)
-> retrieved ppxlib_jane.v0.17.0  (cached)
-> retrieved protocol_version_header.v0.17.0  (cached)
-> retrieved re2.v0.17.0  (cached)
-> retrieved ppxlib.0.35.0  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved re.1.12.0  (cached)
-> retrieved regex_parser_intf.v0.17.0  (cached)
-> retrieved sexp.v0.17.0  (cached)
-> retrieved sexp_diff.v0.17.0  (cached)
-> retrieved sexp_macro.v0.17.0  (cached)
-> retrieved sexp_pretty.v0.17.0  (cached)
-> retrieved sexp_select.v0.17.0  (cached)
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved shell.v0.17.0  (cached)
-> retrieved spawn.v0.17.0  (cached)
-> retrieved splittable_random.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved textutils.v0.17.0  (cached)
-> retrieved time_now.v0.17.0  (cached)
-> retrieved timezone.v0.17.0  (cached)
-> retrieved typerep.v0.17.1  (cached)
-> retrieved uopt.v0.17.0  (cached)
-> retrieved variantslib.v0.17.0  (cached)
-> retrieved topkg.1.0.8  (cached)
-> retrieved uutf.1.0.4  (cached)
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed topkg.1.0.8
-> installed uutf.1.0.4
-> installed fmt.0.10.0
-> installed dune.3.19.0
-> installed jane-street-headers.v0.17.0
-> installed csexp.1.5.2
-> installed cstruct.6.2.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed ppx_derivers.1.2.1
-> installed re.1.12.0
-> installed sexplib0.v0.17.0
-> installed spawn.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed parsexp.v0.17.0
-> installed dune-configurator.3.19.0
-> installed bigstringaf.0.10.0
-> installed sexplib.v0.17.0
-> installed faraday.0.8.2
-> installed angstrom.0.16.1
-> installed base.v0.17.2
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed regex_parser_intf.v0.17.0
-> installed stdio.v0.17.0
-> installed typerep.v0.17.1
-> installed ppxlib.0.35.0
-> installed ppxlib_jane.v0.17.0
-> installed ppx_optcomp.v0.17.0
-> installed ppx_tydi.v0.17.0
-> installed ppx_cold.v0.17.0
-> installed ppx_disable_unused_warnings.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_stable_witness.v0.17.0
-> installed ppx_typerep_conv.v0.17.0
-> installed ppx_variants_conv.v0.17.0
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_stable.v0.17.0
-> installed ppx_ignore_instrumentation.v0.17.0
-> installed ppx_pipebang.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.0
-> installed ppx_fixed_literal.v0.17.0
-> installed ppx_compare.v0.17.0
-> installed ppx_optional.v0.17.0
-> installed ppx_sexp_conv.v0.17.0
-> installed ppx_let.v0.17.0
-> installed ppx_hash.v0.17.0
-> installed ppx_sexp_value.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_sexp_message.v0.17.0
-> installed ppx_custom_printf.v0.17.0
-> installed ppx_base.v0.17.0
-> installed jst-config.v0.17.0
-> installed capitalization.v0.17.0
-> installed sexp_pretty.v0.17.0
-> installed bin_prot.v0.17.0-1
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_bin_prot.v0.17.0
-> installed ppx_string_conv.v0.17.0
-> installed ppx_module_timer.v0.17.0
-> installed ppx_inline_test.v0.17.0
-> installed ppx_bench.v0.17.0
-> installed ppx_expect.v0.17.2
-> installed splittable_random.v0.17.0
-> installed ppx_log.v0.17.0
-> installed base_quickcheck.v0.17.0
-> installed ppx_jane.v0.17.0
-> installed uopt.v0.17.0
-> installed gel.v0.17.0
-> installed jane_rope.v0.17.0
-> installed jsonaf.v0.17.0
-> installed int_repr.v0.17.0
-> installed base_bigstring.v0.17.0
-> installed ppx_diff.v0.17.0
-> installed core.v0.17.1
-> installed csvfields.v0.17.0
-> installed protocol_version_header.v0.17.0
-> installed sexp_diff.v0.17.0
-> installed timezone.v0.17.0
-> installed expect_test_helpers_core.v0.17.0
-> installed core_kernel.v0.17.0
-> installed sexp_select.v0.17.0
-> installed async_kernel.v0.17.0
-> installed core_unix.v0.17.1
-> installed textutils.v0.17.0
-> installed async_rpc_kernel.v0.17.0
-> installed shell.v0.17.0
-> installed async_unix.v0.17.0
-> installed async_log.v0.17.0
-> installed async.v0.17.0
-> installed sexp_macro.v0.17.0
-> installed re2.v0.17.0
-> installed sexp.v0.17.0
Done.
# To update the current shell environment, run: eval $(opam env)
/
2025-06-02 18:54.33 ---> using "edcd07168de0b5baba3a3a2dda4e0217580f7714a2f2e68bf6c546dc47805c9e" 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:
- arch-x86_64.1
- conf-mingw-w64-gcc-i686.1
- conf-mingw-w64-gcc-x86_64.1
- flexdll.0.44
- mingw-w64-shims.0.2.0
- ocaml.5.3.0
- ocaml-base-compiler.5.3.0
- ocaml-compiler.5.3.0
- ocaml-config.3
- ocaml-env-mingw32.1
- ocaml-env-mingw64.1
- system-mingw.1
 Downloading ocaml-compiler.5.3.0
    Building ocaml-compiler.5.3.0
    Building ocaml-base-compiler.5.3.0
2025-06-02 18:54.33 ---> using "1a0725e47b4a8a55e887cca04acdfeaf74ecb10ef87ff7a102d5fd3e6f1249f5" 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 && if [ -f opam ]; then mv opam beluga.opam; fi && echo beluga >> /tmp/packages-in-repo && for opam in *.opam; do echo ${opam%.opam} >> /tmp/packages-in-repo; done && sed -n 's/(name \\(.*\\))/\\1/p' < dune-project | sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//' >> /tmp/packages-in-repo && while read package ; do opam show --raw ${package}.1.1.2 > ${package}.opam; done < /tmp/packages-in-repo && opam install --dry-run --with-test ./beluga.opam | sed -nE 's/(.*)- install ([^[:blank:]]*)(.*)/\\2/p' > /tmp/packages-via-opam && for opam in *.opam; do rm $opam; echo ${opam%.opam} >> /tmp/packages-locally-available; done && opam show --raw beluga.1.1.2 > beluga.opam && /tmp/sexp/_opam/bin/sexp change '(try (rewrite (package @X) OPAM-HEALTH-CHECK-DROP))' < dune-project | grep -v OPAM-HEALTH-CHECK-DROP > dune-project-no-pkg && mv dune-project dune-project-pkg && mv dune-project-no-pkg dune-project && 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 && echo beluga >> /tmp/packages-to-build && while read package ; do if grep --quiet \"^${package}\\$\" /tmp/packages-via-opam ; then echo $package >> /tmp/packages-to-build ; fi ; done < /tmp/packages-locally-available && while read package ; do opam show --raw $package > $package.opam; done < /tmp/packages-to-build && while read package ; do if [ ! -f ${package}.opam ]; then echo \"opam-version: \\\"2.0\\\"\" > ${package}.opam; fi; done < /tmp/packages-locally-available && paste -s -d , /tmp/packages-to-build > /tmp/packages-for-dune && export DUNE_CONFIG__PORTABLE_LOCK_DIR=disabled && PATH=$HOME/.local/bin:$PATH dune pkg lock || (echo \"opam-health-check: Solve failed\" && exit 1)  && PATH=$HOME/.local/bin:$PATH dune show depexts 2> /tmp/depexts-from-dune && paste -s -d \" \" /tmp/depexts-from-dune > /tmp/depexts-for-apt && sudo apt-get install -y $(cat /tmp/depexts-for-apt) && grep -v dependency_hash dune.lock/lock.dune > /tmp/lock.dune && mv /tmp/lock.dune dune.lock/lock.dune && mv dune-project-pkg dune-project && PATH=$HOME/.local/bin:$PATH dune build --release --only-packages $(cat /tmp/packages-for-dune) || (echo \"opam-health-check: Build failed\" && exit 1)"))
Successfully extracted to /home/opam/beluga.1.1.2
[ERROR] Package conflict!
  * No agreement on the version of ocaml-base-compiler:
    - (invariant) -> ocaml-base-compiler = 5.3.0
    - beluga >= 1.1.2 -> 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 >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> dkml-base-compiler
  * Incompatible packages:
    - (invariant) -> ocaml-base-compiler = 5.3.0
    - beluga >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants
  * Missing dependency:
    - beluga >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> xenbigarray
    unknown package
  * Missing dependency:
    - beluga >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> ocaml-beta
    unmet availability conditions: 'enable-ocaml-beta-repository'
  * Missing dependency:
    - beluga >= 1.1.2 -> 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.2
- 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.19.0
- dune-configurator.3.19.0
- either.1.0.0
- extlib.1.8.0
- fix.20250428
- 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.4.0.1
- 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.4
- seq.base
- sexplib0.v0.17.0
- stdio.v0.17.0
- stdlib-shims.0.3.0
- stringext.1.6.0
- topkg.1.0.8
- uri.4.4.0
- uucp.16.0.0
- uunf.16.0.0
- uuseg.16.0.0
- uutf.1.0.4
- yojson.2.2.2
Reading package lists...
Building dependency tree...
Reading state information...
coreutils is already the newest version (9.7-2).
coreutils set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
 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 csexp.1.5.2
    Building csexp.1.5.2
 Downloading ocaml-syntax-shims.1.0.0
    Building ocaml-syntax-shims.1.0.0
 Downloading stringext.1.6.0
    Building stringext.1.6.0
 Downloading dune-configurator.3.19.0
    Building dune-configurator.3.19.0
 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 ppx_derivers.1.2.1
    Building ppx_derivers.1.2.1
 Downloading sexplib0.v0.17.0
    Building sexplib0.v0.17.0
 Downloading gen.1.1
    Building gen.1.1
 Downloading stdlib-shims.0.3.0
    Building stdlib-shims.0.3.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.4
    Building sedlex.3.4
 Downloading ounit2.2.2.7
    Building ounit2.2.2.7
 Downloading dune-build-info.3.19.0
 Downloading cmdliner.1.3.0
    Building cmdliner.1.3.0
 Downloading ocamlfind.1.9.8+dune
    Building ocamlfind.1.9.8+dune
 Downloading ocamlbuild.0.16.1+dune
    Building dune-build-info.3.19.0
    Building ocamlbuild.0.16.1+dune
 Downloading topkg.1.0.8
    Building topkg.1.0.8
 Downloading uutf.1.0.4
    Building uutf.1.0.4
 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 ocaml_intrinsics_kernel.v0.17.1
    Building ocaml_intrinsics_kernel.v0.17.1
 Downloading camlp-streams.5.0.1
    Building camlp-streams.5.0.1
 Downloading uuseg.16.0.0
    Building uuseg.16.0.0
 Downloading astring.0.8.5
    Building astring.0.8.5
 Downloading result.1.5
    Building result.1.5
 Downloading ocp-indent.1.8.1
 Downloading ocaml-version.4.0.1
    Building ocaml-version.4.0.1
 Downloading base.v0.17.2
    Building ocp-indent.1.8.1
 Downloading either.1.0.0
    Building either.1.0.0
 Downloading fix.20250428
    Building base.v0.17.2
    Building fix.20250428
 Downloading re.1.12.0
    Building re.1.12.0
 Downloading menhirLib.20240715
 Downloading menhirSdk.20240715
 Downloading menhirCST.20240715
    Building menhirLib.20240715
    Building menhirSdk.20240715
    Building menhirCST.20240715
 Downloading fpath.0.7.3
    Building fpath.0.7.3
 Downloading menhir.20240715
    Building menhir.20240715
 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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-06-02 18:58.33 ---> saved as "35836b3dbb57154637fd4b151fea8cb38d3855b88acace635e0c5e6dfe8f519a"
Job succeeded