diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-07-11 22:13:33 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-07-11 22:13:33 -0300 |
| commit | 5d967951eb0b08c36ee59f70d7f4cca37b0ca72b (patch) | |
| tree | f9265c6774f893f10cabc898f2838d40156b3c29 /test | |
| parent | 0886f3c71cf8551e4f8b3726654003a4f29645f0 (diff) | |
| download | SOL-5d967951eb0b08c36ee59f70d7f4cca37b0ca72b.tar.gz SOL-5d967951eb0b08c36ee59f70d7f4cca37b0ca72b.zip | |
world relation as the universe for scoped negation
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_vm.ml | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/test_vm.ml b/test/test_vm.ml index 83532d6..0ae62e1 100644 --- a/test/test_vm.ml +++ b/test/test_vm.ml @@ -203,6 +203,12 @@ let test_negation_defers_until_ground () = ^ {| Query expression: ([Adult name: N] :not [Equal left: N right: "Rui"]) :and [Person name: N age: A] |}) {|N="Marcos",A=30|} +let test_world_scoped_negation () = + (* The specification's own negation form. *) + check_answers "no adult named Ana" + (people ^ {| Query expression: [World] :not [Adult name: "Ana"] |}) + "" + (* Quantifiers. *) let test_forall_holds () = @@ -359,6 +365,8 @@ let () = Alcotest.test_case "not adults" `Quick test_negation; Alcotest.test_case "denial defers until ground" `Quick test_negation_defers_until_ground; + Alcotest.test_case "world-scoped negation" `Quick + test_world_scoped_negation; ] ); ( "quantifiers", [ |
