aboutsummaryrefslogtreecommitdiffstats
path: root/docs/vm.org
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-07-12 00:35:33 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-07-12 00:35:33 -0300
commit7aacf596d73cc74eb9af381a72723b50b4069e30 (patch)
tree6970478e0866167285dc15820812b464407b75cb /docs/vm.org
parent6520b876af064d57bccf944a6fef9807a8c79de5 (diff)
downloadSOL-7aacf596d73cc74eb9af381a72723b50b4069e30.tar.gz
SOL-7aacf596d73cc74eb9af381a72723b50b4069e30.zip
symbolic discharge: universals over infinite domains decided by intervals
Diffstat (limited to '')
-rw-r--r--docs/vm.org16
1 files changed, 12 insertions, 4 deletions
diff --git a/docs/vm.org b/docs/vm.org
index 446cee2..a51b85a 100644
--- a/docs/vm.org
+++ b/docs/vm.org
@@ -96,10 +96,18 @@ open goals cannot happen.
=Exists= lowers to a conjunction at loading, since query variables
are existential already; its =variable:= is renamed apart so the
scope cannot be forged. =ForAll= runs when its quantifier is
-decidable: every solution of the quantifier must satisfy the body. A
-universal over an infinite domain is a non total plan, rejected, as
-decision 10 requires. Variables that live only under a universal are
-not answer variables.
+decidable: every solution of the quantifier must satisfy the body.
+Variables that live only under a universal are not answer variables.
+
+A universal over an infinite domain is never enumerated. It gets one
+chance at symbolic discharge: when quantifier and body both read as
+kind and interval constraints over the quantified variable, the
+engine decides entailment algebraically. Every natural is at least
+zero: proven. Not every integer is: refuted, and the refutation is
+backed by a concrete counterexample. Every integer is a rational:
+proven, which is decision 12's subtype inclusion decided
+symbolically. A universal outside that fragment is a non total plan,
+rejected, as decision 10 requires.
* Membership criteria as domains