Skip to content

Commit

Permalink
Levels of the quantifier bounds were effectively ignored. (#189)
Browse files Browse the repository at this point in the history
Signed-off-by: Karolis Petrauskas <[email protected]>
  • Loading branch information
kape1395 authored Dec 30, 2024
1 parent 4988888 commit 6b01bff
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/expr/e_levels.ml
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,8 @@ class virtual ['s] level_computation = object (self : 'self)
(v, k, No_domain)
end
in
(List.map f bs, !bs_levels, !level_args_sets) in
let fbs = List.map f bs in (* has to be executed before reading refs. *)
(fbs, !bs_levels, !level_args_sets) in
let doms_level = List.fold_left max 0 bs_levels in
let level_args = List.fold_left
StringSet.union StringSet.empty level_args_sets in
Expand Down
11 changes: 11 additions & 0 deletions test/bugs/quant_level_test.tla
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---- MODULE quant_level_test ----
(*
The levels of quantifier bounds were ignored.
That lead to considering formulas as being constant level
leading to proofs passing were they must fail.
*)
VARIABLE v
I == \A y \in v: y = y
LEMMA ASSUME I PROVE I' OBVIOUS
====
stderr: status:failed

0 comments on commit 6b01bff

Please sign in to comment.