04 — Axiomatik, Tags und TruthProfile¶
Status: Normativer Konsolidierungsentwurf
1. Ziel¶
Die Axiomatik trennt Absicht von Beweis.
Benutzer schreibt Intention:
Tags, Meta-Records, Refinements
Compiler erzeugt Beweis:
TruthProfile, Labels, Proof-Trace
ASCII:
User Source
|
v
Tags + Meta-Records
|
v
Normalized Meta
|
v
Closure Rules
|
v
TruthProfile
|
v
proven / excluded / unproven
2. Tags sind Intention, keine Garantie¶
Das ist eine deklarierte Policy.
Der Compiler darf daraus erst Rechte ableiten, wenn die Closure die entsprechenden Labels bewiesen hat.
TaskLocal-Meta:
own: Unique
share: Local
Closure:
-> proven(Own(Unique))
-> proven(Share(Local))
-> ggf. excluded(Share(Send))
-> ggf. excluded(Share(Sync))
Der Name TaskLocal ist kein Beweis. Namen lügen. Compiler sollten das wissen, Benutzer sowieso.
3. Labelzustände¶
Jedes Label hat nach der Closure einen Zustand:
proven(X)
X gilt. Der Compiler darf darauf bauen.
excluded(X)
X ist aktiv ausgeschlossen. Der Compiler darf X nicht annehmen.
unproven(X)
Kein Beweis vorhanden. Kein Fehler an sich.
Fehler entsteht erst, wenn ein Kontext proven(X) verlangt und nur unproven(X) oder excluded(X) vorhanden ist.
4. Source-Kind-Erweiterung¶
Bisherige Provenienzquellen:
Neue Quellen:
Empfohlene Provenienz:
Für direkte Refinements:
profile entfällt als technische Provenienzquelle. In älteren Diagnosen kann es als Benutzerbegriff weiter erklärt werden:
5. Strukturregeln lesen normalisierte Meta-Records¶
Strukturregeln laufen nicht auf roher Syntax.
Sie lesen:
Beispiel:
tag TaskLocal
:> Own(Unique)
:> Share(Local)
type Cache : struct {
entries: Map[str, str]
} :> TaskLocal
Vor Closure:
Nicht:
Der Tag wird normalisiert, nicht als magischer Restzustand mitgeschleppt.
6. Tag-Domains und Konflikte¶
Falsche Domain:
Das ist kein Closure-Konflikt, sondern ein TypeFn-Argumentfehler.
Widersprüchliche Policies:
Das ist ein Meta-/Closure-Konflikt.
7. Derived/Sealed Labels¶
Derived/Sealed Labels dürfen nicht direkt durch Tags gesetzt werden.
Ungültig:
Falls Retryable eine derived Garantie ist, muss sie bewiesen werden.
Gültig:
Closure:
Nur falls die Prämissen erfüllt sind.
8. JME-Bezug¶
JME-Policies sind Intentionen im Meta-Record.
Die Type Engine normalisiert:
Die Closure beweist:
Der Generator/JME verwendet danach den bewiesenen Zustand.
9. Normative Regeln¶
A-1: Tags und Meta-Records drücken Intention aus.
A-2: Labels drücken bewiesene Garantien aus.
A-3: Kein Tag darf ein sealed/derived Label direkt setzen.
A-4: Tag-Meta muss vor Strukturregeln normalisiert werden.
A-5: TypeFn-Argumentfehler entstehen vor Closure.
A-6: Policy-Konflikte entstehen während Meta-Normalisierung oder Closure.
A-7: Provenienz muss Tags und TypeFns sichtbar machen.
A-8: `profile` wird als Provenienzbegriff durch `tag` ersetzt.