aboutsummaryrefslogtreecommitdiffstats
path: root/lib/pattern.mli
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-07-12 10:07:23 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-07-12 17:56:10 -0300
commite56efc19f71898d798c44b5955fe74451ee0fc6f (patch)
tree017f20b42fe55662791ead46344893e5d1bf6426 /lib/pattern.mli
parente92c8e00290bab8db328058c437b471c0f1671a4 (diff)
downloadSOL-e56efc19f71898d798c44b5955fe74451ee0fc6f.tar.gz
SOL-e56efc19f71898d798c44b5955fe74451ee0fc6f.zip
lexicographic order proven well founded, checker extracted and verifying admission
Diffstat (limited to 'lib/pattern.mli')
-rw-r--r--lib/pattern.mli11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/pattern.mli b/lib/pattern.mli
index 5fc16c6..f79dce0 100644
--- a/lib/pattern.mli
+++ b/lib/pattern.mli
@@ -45,6 +45,17 @@ val strictly_contains : t -> sub:t -> bool
val pp : Format.formatter -> t -> unit
+(** The verified checker's view of patterns. Admission projects
+ patterns through {!to_checker} and runs the containment and
+ lexicographic checkers extracted from Rocq; the conversion is
+ injective by leaf kind, and these two equalities are the
+ trusted seam. *)
+type checker_leaf
+
+val checker_leaf_equal : checker_leaf -> checker_leaf -> bool
+
+val to_checker : t -> (Label.t, checker_leaf) Decrease_extracted.term
+
(** Substitutions bind variables to patterns. They only grow;
unification never revokes a binding. *)
module Subst : sig