Encyclopedia Foundation Foundation Maximal Forcing Forcing Closure Forcing Closure
Foundation Maximal Forcing Forcing Closure Forcing Closure
ForcingClosure names the set of claims a primitive must settle, and leaves the settling itself to later work.
The closure operator
A closure operator is a standard tool in mathematics: given a starting object, it returns the full set of things that object touches or generates. In the Recognition Science framework, ForcingClosure plays exactly that role for a primitive, a basic unit of recognition. Given a primitive and a universe of realizations, the operator returns the set of claims whose status must be decided. The definition is deliberately plain: it simply returns all claims in the universe, nothing more.
The surrounding structure gives the operator its meaning. A claim universe pairs a type of realizations with an admissibility class and a set of claims about those realizations. The closure operator takes a primitive and such a universe, and returns the claims that are in scope for maximal closure from that primitive. A claim is in the closure exactly when it belongs to the universe's claim set. This is a definition, not a theorem: it sets up the interface for a later process.
The program's goal is stated in the documentation: the closure is complete only when every claim in it is classified as forced, independent, or selected with a named principle that is itself scheduled for tightening. That tripartite classification is the target, not the current state. The operator itself does no classifying. It only identifies what must eventually be classified.
What ForcingClosure does not claim is as important as what it establishes. It does not assert that any particular claim is forced. It does not prove that the closure is finite, or that the classification process will terminate. It does not even provide a constructive method for enumerating the closure; the documentation notes that later phases will make the operator constructive from syntax and semantics. The declaration is an execution interface, a promise about what a complete pass must cover, not a report that any pass is complete.
MODEL ForcingClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean
/-- Closure operator: for a primitive and a claim universe, return the claims
whose status is being closed. Later phases will make this operator constructive
from syntax / semantics; here it is the execution interface. -/
def ForcingClosure (_P : Primitive) (U : ClaimUniverse.{u}) :
Set (RealityClaim U.Realization) :=
U.claims
MODEL InClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean
/-- A claim is in scope for maximal closure from a primitive. -/
def InClosure (P : Primitive) (U : ClaimUniverse.{u})
(C : RealityClaim U.Realization) : Prop :=
C ∈ ForcingClosure P U
MODEL ForcingClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean
/-- Closure operator: for a primitive and a claim universe, return the claims
whose status is being closed. Later phases will make this operator constructive
from syntax / semantics; here it is the execution interface. -/
def ForcingClosure (_P : Primitive) (U : ClaimUniverse.{u}) :
Set (RealityClaim U.Realization) :=
U.claims
What this page does not claim
ForcingClosure does not assert that any particular claim is forced. The closure operator does not prove that the classification process terminates or that the closure is finite. The declaration provides no constructive method for enumerating the closure.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- How does the framework decide whether a claim in the closure is forced, independent, or selected?
- What makes a primitive admissible for a given universe of realizations?
- How will the closure operator become constructive from syntax and semantics in later phases?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL ForcingClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean
/-- Closure operator: for a primitive and a claim universe, return the claims whose status is being closed. Later phases will make this operator constructive from syntax / semantics; here it is the execution interface. -/ def ForcingClosure (_P : Primitive) (U : ClaimUniverse.{u}) : Set (RealityClaim U.Realization) := U.claimsGiven a primitive and a universe of realizations, the operator returns the set of claims whose status must be decided. ForcingClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.leanMODEL InClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean
/-- A claim is in scope for maximal closure from a primitive. -/ def InClosure (P : Primitive) (U : ClaimUniverse.{u}) (C : RealityClaim U.Realization) : Prop := C ∈ ForcingClosure P UA claim is in the closure exactly when it belongs to the universe's claim set. InClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.leanMODEL ForcingClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean
/-- Closure operator: for a primitive and a claim universe, return the claims whose status is being closed. Later phases will make this operator constructive from syntax / semantics; here it is the execution interface. -/ def ForcingClosure (_P : Primitive) (U : ClaimUniverse.{u}) : Set (RealityClaim U.Realization) := U.claimsThe program is complete only when every claim in the closure is classified as forced, independent, or selected with a named principle that is itself scheduled for tightening. ForcingClosure · IndisputableMonolith/Foundation/MaximalForcing/ForcingClosure.lean