Jump to content

The Principia Machina/Tutorial/7 Inspect, submit and declare: Difference between revisions

From The Invariance Itself
tutorial: 7 Inspect, submit and declare
 
m 1 revision imported
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TPM map}}
{{TPM map}}
{{DISPLAYTITLE:Tutorial 7: Inspect, submit and declare}}
{{DISPLAYTITLE:Tutorial 7: Inspect, submit and declare}}
''Tutorial: create a new UWC. One small example - a mass on a linear spring, moving only along x - is taken from a blank file to a declared UWC in eight steps. Each step says what runs today and what is specified but not yet built. It explains; the specification governs. Field-by-field reference: [[The Principia Machina/Inputs|Public Recorder inputs]].''
''Tutorial: create a new UWC. One small example - a mass on a spring, moving along one line, with nothing else in its world - is taken from a blank file to a declared UWC in eight steps. Each step says what runs today and what is specified but not yet built. It explains; the specification governs. Field-by-field reference: [[The Principia Machina/Inputs|Public Recorder inputs]].''


{{:The Principia Machina/Diagrams/04 CAC check flow}}
{{:The Principia Machina/Diagrams/04 CAC check flow}}
Line 9: Line 9:
What happens between a passing draft and a declared UWC: the inspections, the submission, the final pass and the declaration.
What happens between a passing draft and a declared UWC: the inspections, the submission, the final pass and the declaration.


''Explains: TPS 0.1.0, revision 4 (declared final 2026-09-22); the zone schemas the declaring authority selected on 2026-09-22 (records D92.1, D98.1, D99.1, D100.1, and for units D103.1, D104.1, D105.1; schema 0.3.0), whose text enters TPS at revision 5, and the kernel tests and isomorphism checks selected the same day (D106.1, D107.1, D108.1; tpm_kernel_tests 0.2.0), whose text follows at the next TPS revision; TPC-PY as built 2026-09-22 (tpc_zone 0.3.0, tpc_units 0.1.0, tpc_tests 0.1.0; no TPC-PY version is declared yet) with check_draft 0.3.0. Where this page and the specification differ, the specification governs.''
''Explains: TPS 0.3.0 (declared final on 2026-09-28 at revision 6; it follows TPS 0.1.1, declared final on 2026-09-26), whose sections 2.2 to 2.5 carry the zone schemas with the optional declared form, the ROLE field, the D variable and the structure check (records D92.1, D98.1, D99.1, D100.1, D103.1-D105.1, D106.1-D108.1, D132.1, D176.1, D177.1, D179.1 and D186.1); [[The Principia Machina/TPC-PY|TPC-PY 0.1.0]] (declared on 2026-09-28, tree digest a00161c1b321fd66abc591209007d46a7fa6290097835060e50f381426259043, conformed TPS 0.3.0; tpc_zone 0.5.0, tpc_units 0.1.1, tpc_tests 0.2.0, tpc_form 0.2.0, tpc_eom 0.1.0; schema 0.5.0) with check_draft 0.5.0. Where this page and the specification differ, the specification governs.''


== What exists today ==
== What exists today ==
Step 7.1 can be done today on paper; the checker has already done its machine part. Steps 7.2 to 7.4 are specified and not built: the form is part of TPX, and the DECLARATIONS page is created only at TPX's first landing, whose first declaration is the specification itself. The first UWC can be declared only after that.
Step 7.1 is done on paper; the checker has already done its machine part. Steps 7.2 to 7.4 run on this wiki since 2026-10-04: the new-container form is [[Special:TpmNewUwc]], and the declaring authority declares at [[Special:TpmDeclare]]. When the spring of this tutorial was declared as the UWC SPR on 2026-10-04, TPX created the DECLARATIONS page: its first line declares the specification itself, TPS 0.5.0, and SPR's certificate follows. The live form takes the whole draft in one paste and the prefix you name, and runs the checks of steps 7.2 and 7.3 on it together.


== Step 7.1: the inspections ==
== Step 7.1: the inspections ==
The checker has already run what a machine can read: T1, T2's joins, T3 over the constraints, T5, IC1 to IC3, IC4's dimensions and what the entries bear, and CODOMAIN (step 5). What remains is what no machine reads yet, because laws, boundaries and signature images are prose. The declaring authority performs it by inspection before declaring, and each inspection is recorded as debt ([[The Principia Machina/TPS/2.2 The Prime Kernel|TPS 2.2]] and [[The Principia Machina/TPS/2.3 The Translation Manifold|2.3]]). On the spring draft:
The checker has already run what a machine can read: T1 (with the declared forms' parse and names), T2's joins, T5, T4 and T6 where a law or boundary carries a form, T3 over the constraints and over the laws whose every name has a value, IC1 to IC3, IC4's dimensions, what the entries bear and the signature's form, and CODOMAIN (step 5). What remains is what no machine reads: the prose, the meaning, and anything beyond the ground fragment. The declaring authority performs it by inspection before declaring, and each inspection is recorded as debt ([[The Principia Machina/TPS/2.2 The Prime Kernel|TPS 2.2]] and [[The Principia Machina/TPS/2.3 The Translation Manifold|2.3]]). The list is the one the checker printed at step 5. On the spring draft:
{| class="wikitable"
{| class="wikitable"
! Check !! Question !! On the example
! Check !! Question !! On the example
|-
|-
| T2, the meaning || Does each assumption state one claim, whatever its wording? || A_lin states one: the force is linear in x. The checker found no join.
| T2, the meaning || Does each assumption state one claim, whatever its wording? || Yes: A_kpos says the stiffness is positive, A_mpos the mass.
|-
|-
| T3 over laws and assumptions || Do the laws and assumptions, with the constraints, derive a contradiction within S_MAX steps? || No: N2 and KIN govern x and v; FREE_Z and C_NOZ are consistent (z stays 0). The checker compared the constraints: one FIX of z, nothing removed.
| T3 beyond the ground fragment || Do the laws and assumptions, with the constraints, derive a contradiction within S_MAX steps? || No. EOM_X and KIN govern x and v; EOM_Z says no force acts across the axis, and C_NOZ keeps z at 0, which EOM_Z allows (a mass on the axis with no speed across it stays there). The assumptions only fix signs. The machine evaluated no law, since none has a value for every name.
|-
|-
| T4 dimensional homogeneity || Does every law balance? || N2: m dv/dt has M1 L1 T-2, and k_s x has M1 T-2 times L1, the same. KIN: both sides L1 T-1. FREE_Z: L1 T-2 against 0.
| T4, T6 and T3 over laws or boundaries without a form || Does every such law balance, and is every such boundary decided everywhere? || None here: every law and the boundary carry a form, and the checker ran T4 and T6 on them.
|-
|-
| T6 boundary closure || Is every boundary decided for every value of its DOF? || B_small, the absolute value of x below x_max, is true or false for every x.
| IC4 (a), the signature, and whether each borne law is expressible || Does the time derivative really take position to velocity in the world, and can each law an entry bears be said about the world's quantities? || Yes: d/dt of the measured position is the measured velocity; EOM_X, KIN and EOM_Z are statements about time, position, velocity and transverse position.
|-
|-
| IC4, the signature || Is each signature relation carried to its image, and can each borne law be expressed in the environment? || the time derivative takes position to velocity as the signature says; N2, KIN and FREE_Z are statements about position, velocity and height.
| IC5 falsifier invariance || Does a shift of the time origin change any falsifier? || No. E_t's falsifier allows a constant offset between clocks for exactly this reason.
|-
|-
| IC5 falsifier invariance || Does any transformation change a falsifier? || a shift of the time origin changes none of them.
| Equivalence || Are two differently named environment quantities in fact one? || No: time, position, velocity and transverse position are four quantities.
|-
|-
| Equivalence || Are two differently named environment quantities in fact one? || no: position, velocity and height are three quantities.
| Prose against fields || Does each STATEMENT, PROPOSITION, PREDICATE and IMAGE use only the names its REFS or OVER list, and does each STATEMENT say what its EQUATION says, each PREDICATE what its CONDITION says? || Yes: <code>m dv/dt = -k_s x</code> is <code>m * D(v, t) = -k_s * x</code>; <code>&#124;x&#124; &lt; x_max</code> is <code>abs(x) &lt; x_max</code>; and so on for every entry.
|-
| REFS against prose || Does each statement use only the names its REFS list? || yes, for every law, the assumption and the boundary.
|}
|}
An optional machine-readable form for laws and boundaries has been chosen (record D108.1). When it is built, T4, T6 and part of T3 move from this table to the checker, for a draft that uses the form.
 
One question is on no list the checker prints, and it is the one the tutorial began with: '''does the kernel declare every force the author means it to have'''? On the spring draft the answer is yes, by the author's choice at step 1: a spring and nothing else. No check can know what you meant to include.
 
The other question, '''does every degree of freedom (DOF) except t have its equation of motion''', is now asked by the structure check at the final pass, because the switch STRUCTURE_CHECK is ON. It lists what it finds, each with a question for the declaring authority: a DOF with no law (a named gap, which opens the first task EOM-0), a DOF with two, a law that repeats what the others say, a law that names nothing left to find but uses a constant with no value, a ROLE that does not fit its law, and a law about motion written only in prose. On the spring draft the check prints:
<pre>
STRUCTURE map (shown whatever STRUCTURE_CHECK says): analysis RUN; D variable t
    t: INDEPENDENT
    v: DETERMINED (LAW EOM_X)
    x: DETERMINED (LAW KIN)
    z: FIXED
    index 0, initial values 2 (the determined part; information)
    closed: EOM_Z (ZERO)
STRUCTURE findings: none
STRUCTURE structurally regular
</pre>
and the certificate will carry the label ''structurally regular'' ([[The Principia Machina/TPS/2.2 The Prime Kernel|TPS 2.2.20]]).


== Step 7.2: submit ==
== Step 7.2: submit ==
At the new-container form (Special:NewContainer, when built), choose the access policy, seed the access list if CLOSED, and enter the three zones in order. TPX runs the same checks you ran, as each zone is entered, and returns any refused component ([[The Principia Machina/TPS/5.5 The new-container flow|TPS 5.5]]). Because the checks are the same, a draft that passed your check passes here too - unless it changed on the way in.
Sign in with your account; it must be in the group ''approved'' ([[The Principia Machina/Tutorial/1 Before you start#Your account on this wiki|your account on this wiki]]). At the new-container form ([[Special:TpmNewUwc]]), choose the access policy, seed the access list if CLOSED, choose the audit trigger and the bibliography setting, and enter the three zones in order. TPX runs the same checks you ran, as each zone is entered, and returns any refused component ([[The Principia Machina/TPS/5.5 The new-container flow|TPS 5.5]]). Because the checks are the same, a draft that passed your check passes here too - unless it changed on the way in.


== Step 7.3: the final pass ==
== Step 7.3: the final pass ==
TPX runs the final pass - T3 over the constraints and the IC2 policy, as your check did - then computes D(TPK), D(TrM), D(TMS) and D(TFK), obtains the UUID, allocates the prefix and writes the candidate certificate to staging. Compare its four digests with the ones your check printed. If they differ, the draft TPX holds is not the file you checked: stop and find out why before anyone declares. Still no UUID is in use and no register exists.
TPX runs the final pass - T3 over the constraints and the laws, the IC2 policy and the structure check, as your check did - then computes D(TPK), D(TrM), D(TMS) and D(TFK) and the label, obtains the UUID, allocates the prefix and writes the candidate certificate, with the label on its STRUCTURE line, to staging. Compare its four digests with the ones your check printed. If they differ, the draft TPX holds is not the file you checked: stop and find out why before anyone declares. Still no UUID is in use and no register exists.


== Step 7.4: the declaration ==
== Step 7.4: the declaration ==
The declaring authority lands the candidate certificate on the DECLARATIONS page with state CERTIFIED, the access policy, and you as H-OWN ([[The Principia Machina/TPS/5.6 Certificate, declarations and the build chain|TPS 5.6]]). That act is the birth of the UWC. TPX then:
The declaring authority lands the candidate certificate on the DECLARATIONS page with state CERTIFIED, the access policy, the audit trigger, the bibliography setting, and you as H-OWN ([[The Principia Machina/TPS/5.6 Certificate, declarations and the build chain|TPS 5.6]]). That act is the birth of the UWC. TPX then:
* writes the TFK pages from the draft and verifies them against the certificate's digests;
* writes the TFK pages from the draft and verifies them against the certificate's digests;
* initializes the register: volume 1 OPEN, with the certificate as the master record;
* initializes the register: volume 1 OPEN, with the certificate as the master record, and, if the bibliography setting is ON, the bibliography's first volume;
* creates the control panel, the lock page, the collaboration page, the access-list page, the manifest, the library page and the badge;
* creates the control panel, the lock page, the collaboration page, the access-list page, the manifest, the library page and the badge;
* appends the first BUILD CHAIN line;
* appends the first BUILD CHAIN line;
* shows the label on the control panel, the manifest and the library page, and, if the label names a DOF with no equation of motion while STRUCTURE_CHECK is ON, opens the first task EOM-0;
* protects the draft read-only and indexes it under the UWC as provenance.
* protects the draft read-only and indexes it under the UWC as provenance.


== Non-goals ==
== Non-goals ==
Nobody types a digest, a UUID or a prefix at any point in this step. The declaration is the human's; everything computed is TPX's.
Nobody types a digest, a UUID or a prefix at any point in this step. The declaration is the human's; everything computed is TPX's. The declaration does not add physics: the UWC's world is the kernel as declared, and nothing more.


== Worked example ==
== Worked example ==

Latest revision as of 13:17, 5 October 2026

The Principia Machina: map
Reading the diagrams
Structure key
Process key
Definition of terms
Roles
Reading by audience
Start here: the walk through
The operator's guide
Tutorial: create a UUID Workspace Container (UWC)
Public Recorder inputs
Sponsors: your first agent
The specification
Contents: parts, tables, diagrams
TPS 0.5.0 (declared 2026-10-03, revision 8; machine-optimized text)
Decisions (the foundations record, one line each)


Tutorial: create a new UWC. One small example - a mass on a spring, moving along one line, with nothing else in its world - is taken from a blank file to a declared UWC in eight steps. Each step says what runs today and what is specified but not yet built. It explains; the specification governs. Field-by-field reference: Public Recorder inputs.

The checks in order, ending in a certificate or a decision item. (diagram page.)

Purpose

What happens between a passing draft and a declared UWC: the inspections, the submission, the final pass and the declaration.

Explains: TPS 0.3.0 (declared final on 2026-09-28 at revision 6; it follows TPS 0.1.1, declared final on 2026-09-26), whose sections 2.2 to 2.5 carry the zone schemas with the optional declared form, the ROLE field, the D variable and the structure check (records D92.1, D98.1, D99.1, D100.1, D103.1-D105.1, D106.1-D108.1, D132.1, D176.1, D177.1, D179.1 and D186.1); TPC-PY 0.1.0 (declared on 2026-09-28, tree digest a00161c1b321fd66abc591209007d46a7fa6290097835060e50f381426259043, conformed TPS 0.3.0; tpc_zone 0.5.0, tpc_units 0.1.1, tpc_tests 0.2.0, tpc_form 0.2.0, tpc_eom 0.1.0; schema 0.5.0) with check_draft 0.5.0. Where this page and the specification differ, the specification governs.

What exists today

Step 7.1 is done on paper; the checker has already done its machine part. Steps 7.2 to 7.4 run on this wiki since 2026-10-04: the new-container form is Special:TpmNewUwc, and the declaring authority declares at Special:TpmDeclare. When the spring of this tutorial was declared as the UWC SPR on 2026-10-04, TPX created the DECLARATIONS page: its first line declares the specification itself, TPS 0.5.0, and SPR's certificate follows. The live form takes the whole draft in one paste and the prefix you name, and runs the checks of steps 7.2 and 7.3 on it together.

Step 7.1: the inspections

The checker has already run what a machine can read: T1 (with the declared forms' parse and names), T2's joins, T5, T4 and T6 where a law or boundary carries a form, T3 over the constraints and over the laws whose every name has a value, IC1 to IC3, IC4's dimensions, what the entries bear and the signature's form, and CODOMAIN (step 5). What remains is what no machine reads: the prose, the meaning, and anything beyond the ground fragment. The declaring authority performs it by inspection before declaring, and each inspection is recorded as debt (TPS 2.2 and 2.3). The list is the one the checker printed at step 5. On the spring draft:

Check Question On the example
T2, the meaning Does each assumption state one claim, whatever its wording? Yes: A_kpos says the stiffness is positive, A_mpos the mass.
T3 beyond the ground fragment Do the laws and assumptions, with the constraints, derive a contradiction within S_MAX steps? No. EOM_X and KIN govern x and v; EOM_Z says no force acts across the axis, and C_NOZ keeps z at 0, which EOM_Z allows (a mass on the axis with no speed across it stays there). The assumptions only fix signs. The machine evaluated no law, since none has a value for every name.
T4, T6 and T3 over laws or boundaries without a form Does every such law balance, and is every such boundary decided everywhere? None here: every law and the boundary carry a form, and the checker ran T4 and T6 on them.
IC4 (a), the signature, and whether each borne law is expressible Does the time derivative really take position to velocity in the world, and can each law an entry bears be said about the world's quantities? Yes: d/dt of the measured position is the measured velocity; EOM_X, KIN and EOM_Z are statements about time, position, velocity and transverse position.
IC5 falsifier invariance Does a shift of the time origin change any falsifier? No. E_t's falsifier allows a constant offset between clocks for exactly this reason.
Equivalence Are two differently named environment quantities in fact one? No: time, position, velocity and transverse position are four quantities.
Prose against fields Does each STATEMENT, PROPOSITION, PREDICATE and IMAGE use only the names its REFS or OVER list, and does each STATEMENT say what its EQUATION says, each PREDICATE what its CONDITION says? Yes: m dv/dt = -k_s x is m * D(v, t) = -k_s * x; |x| < x_max is abs(x) < x_max; and so on for every entry.

One question is on no list the checker prints, and it is the one the tutorial began with: does the kernel declare every force the author means it to have? On the spring draft the answer is yes, by the author's choice at step 1: a spring and nothing else. No check can know what you meant to include.

The other question, does every degree of freedom (DOF) except t have its equation of motion, is now asked by the structure check at the final pass, because the switch STRUCTURE_CHECK is ON. It lists what it finds, each with a question for the declaring authority: a DOF with no law (a named gap, which opens the first task EOM-0), a DOF with two, a law that repeats what the others say, a law that names nothing left to find but uses a constant with no value, a ROLE that does not fit its law, and a law about motion written only in prose. On the spring draft the check prints:

STRUCTURE map (shown whatever STRUCTURE_CHECK says): analysis RUN; D variable t
     t: INDEPENDENT
     v: DETERMINED (LAW EOM_X)
     x: DETERMINED (LAW KIN)
     z: FIXED
     index 0, initial values 2 (the determined part; information)
     closed: EOM_Z (ZERO)
STRUCTURE findings: none
STRUCTURE structurally regular

and the certificate will carry the label structurally regular (TPS 2.2.20).

Step 7.2: submit

Sign in with your account; it must be in the group approved (your account on this wiki). At the new-container form (Special:TpmNewUwc), choose the access policy, seed the access list if CLOSED, choose the audit trigger and the bibliography setting, and enter the three zones in order. TPX runs the same checks you ran, as each zone is entered, and returns any refused component (TPS 5.5). Because the checks are the same, a draft that passed your check passes here too - unless it changed on the way in.

Step 7.3: the final pass

TPX runs the final pass - T3 over the constraints and the laws, the IC2 policy and the structure check, as your check did - then computes D(TPK), D(TrM), D(TMS) and D(TFK) and the label, obtains the UUID, allocates the prefix and writes the candidate certificate, with the label on its STRUCTURE line, to staging. Compare its four digests with the ones your check printed. If they differ, the draft TPX holds is not the file you checked: stop and find out why before anyone declares. Still no UUID is in use and no register exists.

Step 7.4: the declaration

The declaring authority lands the candidate certificate on the DECLARATIONS page with state CERTIFIED, the access policy, the audit trigger, the bibliography setting, and you as H-OWN (TPS 5.6). That act is the birth of the UWC. TPX then:

  • writes the TFK pages from the draft and verifies them against the certificate's digests;
  • initializes the register: volume 1 OPEN, with the certificate as the master record, and, if the bibliography setting is ON, the bibliography's first volume;
  • creates the control panel, the lock page, the collaboration page, the access-list page, the manifest, the library page and the badge;
  • appends the first BUILD CHAIN line;
  • shows the label on the control panel, the manifest and the library page, and, if the label names a DOF with no equation of motion while STRUCTURE_CHECK is ON, opens the first task EOM-0;
  • protects the draft read-only and indexes it under the UWC as provenance.

Non-goals

Nobody types a digest, a UUID or a prefix at any point in this step. The declaration is the human's; everything computed is TPX's. The declaration does not add physics: the UWC's world is the kernel as declared, and nothing more.

Worked example

The step is its own example.

Governing sections: TPS 5.5, 5.6, 2.2 and 2.3.


Previous: 6 Fix refusals. Next: 8 After the declaration.