Hyperfields/Core.lean
Explanation legend
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
- URL
- Used in an explanation or its source, but not expanded by this annotation. Follow its linked source.
16 declarations, 0 contain sorry, 0 axioms
A typed vocabulary for the hyperfield ecosystem
The types in this module keep four questions separate:
- What kind of ecosystem artifact is this?
- Is its presentation field-primitive, grounded in another field, or unresolved?
- How does it operate: formatively, communicatively, compositionally, integratively, or reflectively?
- How far has this catalogue entry itself been reviewed?
Compiling the vocabulary checks those distinctions. It does not prove that a repository has found physically or metaphysically absolute axioms.
Imports (1)
Imported by 4 files
- inductive
Hyperfields.RepoIdStable ecosystem identifiers line 23 sourceStable identifiers for repositories and unpublished field candidates known to this catalogue.
A closed identifier type prevents dependencies from being recorded as misspelled free text.
no axioms what this means
inductive RepoId where …
- def
Hyperfields.RepoId.moduleNameThe explainer module a repository is explained in line 56 sourceThe name of the dedicated Lean module that explains this repository.
Every catalogued repository has one dedicated explainer module, so a field cannot be present in an aggregate while absent from the public surface.
no axioms what this means
Statement uses: Hyperfields.RepoId,
StringProof uses:
Hyperfields.instReprRepoId.repr.match_1,Unitdef RepoId.moduleName : RepoId → String | .hyperchaos => "Hyperchaos" | .hyperorder => "Hyperorder" | .hyperemergence => "Hyperemergence" | .hyperobjectivity => "Hyperobjectivity" | .hypersubjectivity => "Hypersubjectivity" | .hyperreality => "Hyperreality" | .hypertime => "Hypertime" | .hyperspace => "Hyperspace" | .hypergeometry => "Hypergeometry" | .hypertopology => "Hypertopology" | .hyperstructure => "Hyperstructure" …
Mentions: Hyperfields.RepoId, Hyperfields.hyperchaos, Hyperfields.hyperorder, Hyperfields.hyperemergence, Hyperfields.hyperobjectivity, Hyperfields.hypersubjectivity, Hyperfields.hyperreality, Hyperfields.hypertime, Hyperfields.hyperspace, Hyperfields.hypergeometry, Hyperfields.hypertopology, Hyperfields.hyperstructure
- def
Hyperfields.RepoId.displayNameThe readable name of a repository line 99 sourceThe published display name of a repository.
This is not the module name.
grounded-hypercalculiis explained by the moduleGroundedHypercalculibut published under the title "Grounded Hypercalculi", andmeta-morphoscripted-originationis published as "Meta-Morphoscripted-Origination" under the moduleMetaMorphoscriptedOrigination. Keeping the two apart lets the catalogue name a repository the way its owner names it and still point at the module that checks the entry.A repository's display name is its published title, which is not always the same as the module that explains it.
no axioms what this means
Statement uses: Hyperfields.RepoId,
StringProof uses:
Hyperfields.instReprRepoId.repr.match_1,Unitdef RepoId.displayName : RepoId → String | .hyperchaos => "Hyperchaos" | .hyperorder => "Hyperorder" | .hyperemergence => "Hyperemergence" | .hyperobjectivity => "Hyperobjectivity" | .hypersubjectivity => "Hypersubjectivity" | .hyperreality => "Hyperreality" | .hypertime => "Hypertime" | .hyperspace => "Hyperspace" | .hypergeometry => "Hypergeometry" | .hypertopology => "Hypertopology" | .hyperstructure => "Hyperstructure" …
Mentions: Hyperfields.RepoId, Hyperfields.hyperchaos, Hyperfields.hyperorder, Hyperfields.hyperemergence, Hyperfields.hyperobjectivity, Hyperfields.hypersubjectivity, Hyperfields.hyperreality, Hyperfields.hypertime, Hyperfields.hyperspace, Hyperfields.hypergeometry, Hyperfields.hypertopology, Hyperfields.hyperstructure
- def
Hyperfields.RepoId.slugThe catalogue slug of a repository line 139 sourceThe catalogue slug of a repository: the URL segment the portal publishes it under.
Most slugs are the identifier spelled in lower case. Three are not, because their owners' repository names are hyphenated, and the catalogue publishes the owner's spelling rather than a normalised one.
The slug is the published URL segment, so it must be a function of the identifier rather than a second hand-written list.
no axioms what this means
Statement uses: Hyperfields.RepoId,
StringProof uses:
Hyperfields.instReprRepoId.repr.match_1,Unitdef RepoId.slug : RepoId → String | .hyperchaos => "hyperchaos" | .hyperorder => "hyperorder" | .hyperemergence => "hyperemergence" | .hyperobjectivity => "hyperobjectivity" | .hypersubjectivity => "hypersubjectivity" | .hyperreality => "hyperreality" | .hypertime => "hypertime" | .hyperspace => "hyperspace" | .hypergeometry => "hypergeometry" | .hypertopology => "hypertopology" | .hyperstructure => "hyperstructure" …
Mentions: Hyperfields.RepoId, Hyperfields.hyperchaos, Hyperfields.hyperorder, Hyperfields.hyperemergence, Hyperfields.hyperobjectivity, Hyperfields.hypersubjectivity, Hyperfields.hyperreality, Hyperfields.hypertime, Hyperfields.hyperspace, Hyperfields.hypergeometry, Hyperfields.hypertopology, Hyperfields.hyperstructure
- inductive
Hyperfields.EcosystemRoleEcosystem roles line 171 sourceA repository's role is distinct from whether its internal account is grounded.
A repository's role in the map is independent of whether the structure it presents is grounded in another field.
no axioms what this means
inductive EcosystemRole where …
- inductive
Hyperfields.GroundingRelative grounding line 185 sourceGrounding is relative to the presentation recorded here.
fieldPrimitivemeans "presented as primitive inside this field", not "proved absolutely primitive in reality".A field may be primitive in its own presentation, explicitly grounded in named upstream structure, or still unresolved.
no axioms what this means
inductive Grounding where …
- def
Hyperfields.joinNamesThe readable form of a grounding line 201 sourceJoin a list of names the way the catalogue joins them, with a serial comma before the final item when there are three or more.
Two items join with "and" alone. Three or more join with a comma before "and", so a reader can see where the list ends. This is the same rendering the published catalogue has always used.
A grounding names the fields it stands on, so the readable form must say which, not merely that a grounding exists.
standard axioms: propext what this means
Statement uses:
List,StringProof uses:
Hyperfields.joinNames.match_1,Unit,HAppend.hAppend,ToString.toString,List.getLastD,List.dropLast,String.intercalate3 instances, coercions and auxiliary constants left out.
def joinNames (names : List String) : String := …
- def
Hyperfields.Grounding.displayRender a grounding as text line 222 sourceRender a grounding as the sentence the catalogue publishes.
fieldPrimitiveis rendered "field-relative primitive", not "primitive", because being primitive inside one field's own presentation is a claim about that presentation and not a claim about reality. A grounded entry names its primary basis first and then any additional bases.A grounding names the fields it rests on, and the rendering joins them the way a sentence would rather than the way a list would.
Prerequisites: Hyperfields.Grounding
standard axioms: propext what this means
Statement uses: Hyperfields.Grounding,
StringProof uses:
Hyperfields.Grounding.display.match_1,Unit, Hyperfields.RepoId,List,List.cons, Hyperfields.RepoId.displayName,List.map,HAppend.hAppend,ToString.toString, Hyperfields.joinNames3 instances, coercions and auxiliary constants left out.
def Grounding.display (grounding : Grounding) : String := …
Mentions: Hyperfields.Grounding
- inductive
Hyperfields.OperatingModeOperating modes line 233 sourceMultiple modes may describe one field; communicative and formative are not opposites.
A field can expose formative structure while also communicating, composing, integrating, or reflecting across fields.
no axioms what this means
inductive OperatingMode where …
- inductive
Hyperfields.SourceStatePublic source state line 244 sourceWhat public source coordinate is available for an entry.
A pinned main commit, a repository without a main ref, and an unpublished local candidate require different evidence claims.
no axioms what this means
inductive SourceState where …
- inductive
Hyperfields.ReviewStateExplanation review state line 253 sourceReview state of the explanatory text in this repository, not of the source project.
Compiling generated or source-derived prose cannot silently convert it into Tyler-reviewed prose.
no axioms what this means
inductive ReviewState where …
- structure
Hyperfields.SourceCoordinateExact source coordinate line 270 sourceExact public bytes used as the source for an explanatory entry.
revisionis optional because a public repository can exist without a resolvablemaincommit. A repository URL alone is still a true coordinate claim: the repository is public, but no commit was pinned, so the entry carriespublicWithoutMainrather than a false forty-character pin. Keeping the revision optional in the type keeps that distinction visible to Lean instead of hiding it behind an empty string.Repository, revision, and branch travel together so an explanation can be bound to source bytes.
no axioms what this means
structure SourceCoordinate where …
- structure
Hyperfields.EntryOne hyperfield ecosystem entry line 282 sourceOne ecosystem entry.
summaryis explanatory prose; itsreviewfield prevents that prose from being confused with a kernel-checked theorem.Identity, role, grounding, operating modes, prose, source evidence, and review state remain separately visible.
no axioms what this means
structure Entry where …
- def
Hyperfields.Entry.sourceShapeValidValidate the shape of a source claim line 308 sourceA public-main entry is internally well-shaped only when it carries an exact source coordinate.
The three states are checked separately because they make different claims. A pinned entry claims a specific commit and therefore needs all three coordinates. A
publicWithoutMainentry claims only that a public repository exists, so it must carry a repository and must not carry a revision it cannot honour. An unpublished candidate must carry no public coordinate at all.A public-main claim needs a repository, a forty-character revision, and the main branch; a public repository without a main commit may carry the repository alone; unresolved source states must not carry a false pin.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Hyperfields.Entry,
BoolProof uses:
Hyperfields.Entry.sourceShapeValid.match_2, Hyperfields.SourceState,Option, Hyperfields.SourceCoordinate,Hyperfields.Entry.sourceState,Hyperfields.Entry.source,Bool.and,Bool.not,String.isEmpty,Hyperfields.SourceCoordinate.repository,Hyperfields.Entry.sourceShapeValid.match_1,String,Hyperfields.SourceCoordinate.revision,BEq.beq,Nat,String.length,OfNat.ofNat,Unit,Bool.false,Hyperfields.SourceCoordinate.branchand 2 more4 instances, coercions and auxiliary constants left out.
def Entry.sourceShapeValid (entry : Entry) : Bool := …
Mentions: Hyperfields.Entry
- def
Hyperfields.Entry.awaitingOwnerReviewIdentify explanations awaiting owner review line 326 sourceNo entry may claim owner review merely because this Lean catalogue compiles.
Structural compilation and semantic review are separate gates.
no axioms what this means
Statement uses: Hyperfields.Entry,
BoolProof uses:
BEq.beq, Hyperfields.ReviewState,Hyperfields.Entry.review,Hyperfields.ReviewState.sourceDerivedUnreviewed1 instances, coercions and auxiliary constants left out.
def Entry.awaitingOwnerReview (entry : Entry) : Bool := …
Mentions: Hyperfields.Entry
- theorem
Hyperfields.grounded_has_primaryA grounded entry names an upstream basis line 333 sourceGrounding is carried by the constructor, so a grounded record cannot omit its primary dependency.
- Inspect the grounded constructor.
- Return its required primary repository identifier.
no axioms what this means
Statement uses: Hyperfields.RepoId,
List,Exists,Eq, Hyperfields.Grounding,Hyperfields.Grounding.groundedProof uses:
Exists.intro,rflTactic trace: 1 steps
exact ⟨primary, rfl⟩line 335beforeprimary : RepoId additional : List RepoId ⊢ ∃ basis, Grounding.grounded primary additional = Grounding.grounded basis additional
afterno goals remain
theorem grounded_has_primary (primary : RepoId) (additional : List RepoId) : ∃ basis, Grounding.grounded primary additional = Grounding.grounded basis additional := by …Mentions: Hyperfields.RepoId