aboutsummaryrefslogtreecommitdiffstats
path: root/lib/vm.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-07-11 23:39:40 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-07-11 23:39:40 -0300
commit726f3dfb116ec9265041e642000612831633fe3c (patch)
treecac0e9e4e967e2f78163d1429213b69ff959e60b /lib/vm.ml
parent5d967951eb0b08c36ee59f70d7f4cca37b0ca72b (diff)
downloadSOL-726f3dfb116ec9265041e642000612831633fe3c.tar.gz
SOL-726f3dfb116ec9265041e642000612831633fe3c.zip
mutual recursion admitted under lexicographic measures
Diffstat (limited to '')
-rw-r--r--lib/vm.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/vm.ml b/lib/vm.ml
index 84c5c77..0d34e4a 100644
--- a/lib/vm.ml
+++ b/lib/vm.ml
@@ -155,13 +155,13 @@ module Make (W : World.WORLD) = struct
facts)
| Some (World.Rules rules) ->
let witness_ground rule =
- match rule.World.witness with
- | None -> true
- | Some label -> (
+ List.for_all
+ (fun label ->
match Label.Map.find_opt label bindings with
| Some pattern ->
Pattern.is_ground (Pattern.Subst.resolve subst pattern)
| None -> false)
+ rule.World.witness
in
if List.for_all witness_ground rules then
Run