Jump to content

The Principia Machina/Tutorial/3 Write the Translation Manifold: Difference between revisions

From The Invariance Itself
Help batch (D185.1 (d)): the tutorial and inputs redraft of 2026-09-26 with its PENDING lines (items D176-D181 open); abbreviations expanded at first use (the user's directive, 2026-09-26)
m 1 revision imported
 
(7 intermediate revisions by 2 users not shown)
Line 6: Line 6:
Write the second zone: first the header, then one entry for each degree of freedom (DOF), t included.
Write the second zone: first the header, then one entry for each degree of freedom (DOF), t included.


''Explains: TPS 0.2.0 (proposed; revision 5 of the tree, imported 2026-09-26, not yet declared; TPS 0.1.0 was declared final on 2026-09-22), whose sections 2.2 to 2.5 now carry the zone schemas at schema 0.4.0 with the optional declared form (records D92.1, D98.1, D99.1, D100.1, D103.1-D105.1, D106.1-D108.1 and D132.1); TPC-PY as built at increment 9 (tpc_zone 0.4.0, tpc_units 0.1.0, tpc_tests 0.2.0, tpc_form 0.1.0; no TPC-PY version is declared yet) with check_draft 0.4.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, and [[The Principia Machina/TPC-PY|TPC-PY 0.2.0]] (declared on 2026-09-30; tree digest 2998ac4c24dff83bd047a691081b7d27bb25c9d26512bffe519f5c2b6ba127e2, conformed TPS 0.4.0; tpc_zone 0.5.1, tpc_units 0.1.2, tpc_tests 0.2.1, tpc_form 0.2.1, tpc_eom 0.2.0; schema 0.5.0) with check_draft 0.6.0. Where this page and the specification differ, the specification governs.''


== Step 3.1: the environment inventory ==
== Step 3.1: the environment inventory ==
Line 119: Line 119:
FINAL not run: a zone is missing
FINAL not run: a zone is missing


Advisory result (TPC-PY: tpc_zone 0.4.0, tpc_units 0.1.0, tpc_tests 0.2.0, tpc_form 0.1.0; schema 0.4.0). TPX decides at the gate.
Advisory result (TPC-PY: tpc_zone 0.5.1, tpc_units 0.1.2, tpc_tests 0.2.1, tpc_form 0.2.1, tpc_eom 0.2.0; schema 0.5.0). TPX decides at the gate.
</pre>
</pre>


The manifold passes its structure check and then the isomorphism checks IC1 to IC4: each of the four environment quantities is identified by exactly one entry, and each DOF by exactly one; the dimensions match on both sides; every law and constraint an entry bears is about DOF that have entries; and the signature's FORM, carried through the entries, reads as its IMAGE_FORM.
The manifold passes its structural check and then the isomorphism checks IC1 to IC4: each of the four environment quantities is identified by exactly one entry, and each DOF by exactly one; the dimensions match on both sides; every law and constraint an entry bears is about DOF that have entries; and the signature's FORM, carried through the entries, reads as its IMAGE_FORM.


== Tips ==
== Tips ==

Latest revision as of 13:34, 30 September 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.

Purpose

Write the second zone: first the header, then one entry for each degree of freedom (DOF), t included.

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, and TPC-PY 0.2.0 (declared on 2026-09-30; tree digest 2998ac4c24dff83bd047a691081b7d27bb25c9d26512bffe519f5c2b6ba127e2, conformed TPS 0.4.0; tpc_zone 0.5.1, tpc_units 0.1.2, tpc_tests 0.2.1, tpc_form 0.2.1, tpc_eom 0.2.0; schema 0.5.0) with check_draft 0.6.0. Where this page and the specification differ, the specification governs.

Step 3.1: the environment inventory

List the quantities of the world the kernel describes, each with its dimension. These are what the DOF will be identified with.

"ENVIRONMENT_INVENTORY": [
  {"ENVIRONMENT_QUANTITY": "time", "DIMENSION": "T1"},
  {"ENVIRONMENT_QUANTITY": "position", "DIMENSION": "L1"},
  {"ENVIRONMENT_QUANTITY": "velocity", "DIMENSION": "L1 T-1"},
  {"ENVIRONMENT_QUANTITY": "transverse_position", "DIMENSION": "L1"}
]

The quantity z is identified with is named transverse_position, not "height": the kernel declares no gravity, so it has no up and no down, only along the axis and across it.

Step 3.2: the signature

List the relations on the DOF that the identification must carry into the world. Here: the rate of change of position with time is velocity.

"SIGNATURE": [
  {
    "NAME": "time_derivative",
    "OVER": ["x", "v", "t"],
    "IMAGE": "d/dt maps position to velocity",
    "FORM": "D(x, t) = v",
    "IMAGE_FORM": "D(position, time) = velocity"
  }
]

IMAGE is prose. FORM and IMAGE_FORM are the optional declared pair, both or neither: FORM is the relation over the DOF, and IMAGE_FORM the same relation over the environment quantities. With the pair, the checker tests that IMAGE_FORM is FORM with each DOF replaced by the quantity its entry names (IC4 (a), read syntactically; TPS 2.3).

Step 3.3: the transformations

List the changes of description under which an identification stays the same: here, moving the origin of time.

"TRANSFORMATIONS": [
  {"NAME": "time_translation", "STATEMENT": "t -> t + t0"}
]

Step 3.4: the entries

One entry per DOF. Each says what the DOF is (IDENTIFICATION), where that holds (DOMAIN), what would show it false (FALSIFIER) and how severe that test is (FALSIFIER_CLASS), which laws and constraints it carries (BEARS), and its dimension.

"ENTRIES": [
  {
    "NAME": "E_t",
    "DOF": "t",
    "DOMAIN": "always",
    "ENVIRONMENT_QUANTITY": "time",
    "IDENTIFICATION": "t is the reading of a laboratory clock from an arbitrary origin",
    "FALSIFIER": "a second clock whose readings differ from t by more than a constant offset beyond the stated uncertainty",
    "FALSIFIER_CLASS": "F3",
    "BEARS": [],
    "DIMENSION": "T1"
  },
  {
    "NAME": "E_x",
    "DOF": "x",
    "DOMAIN": "|x| < x_max",
    "ENVIRONMENT_QUANTITY": "position",
    "IDENTIFICATION": "x is the displacement of the mass along the spring axis from the point where the spring exerts no force",
    "FALSIFIER": "a measured spring force not proportional to x inside the domain",
    "FALSIFIER_CLASS": "F3",
    "BEARS": ["EOM_X", "KIN"],
    "DIMENSION": "L1"
  },
  {
    "NAME": "E_v",
    "DOF": "v",
    "DOMAIN": "|x| < x_max",
    "ENVIRONMENT_QUANTITY": "velocity",
    "IDENTIFICATION": "v is the rate of change of x with t",
    "FALSIFIER": "a measured velocity that differs from the rate of change of the measured x beyond uncertainty",
    "FALSIFIER_CLASS": "F2",
    "BEARS": ["KIN"],
    "DIMENSION": "L1 T-1"
  },
  {
    "NAME": "E_z",
    "DOF": "z",
    "DOMAIN": "always",
    "ENVIRONMENT_QUANTITY": "transverse_position",
    "IDENTIFICATION": "z is the displacement of the mass perpendicular to the spring axis",
    "FALSIFIER": "a measured z different from 0 beyond its uncertainty",
    "FALSIFIER_CLASS": "F3",
    "BEARS": ["EOM_Z", "C_NOZ"],
    "DIMENSION": "L1"
  }
]

Choosing the falsifier class:

  • E_x names a measured spring force: an outside measurement could contradict it. F3, external.
  • E_v can be checked by anyone from the recorded values alone. F2, independent.
  • E_z and E_t name outside measurements, a transverse displacement and a second clock. F3.

F1 - a test only the author's own re-derivation can make - is admitted but weak; F0, no falsifier, is refused.

E_t identifies the time. Its falsifier allows a constant offset between clocks, because the transformation above says a shift of the time origin changes nothing. E_t bears no law: the laws use t, but no law is about t.

E_z identifies z although C_NOZ fixes it. A fixed DOF stays in the manifold and needs an entry, and E_z bears C_NOZ. Only a DOF that a constraint removes has no entry (record D107.1).

Step 3.5: check

Add "TrM": { "HEADER": { ... }, "ENTRIES": [ ... ] } beside the TPK and run the checker again (examples/spring_step3_tpk_trm.json):

TPK  PASS
     T2 PASS
     T5 PASS
     T4 PASS
     T6 PASS
TrM  PASS
     IC1-IC4 PASS
TMS  MISSING (not checked)
FINAL not run: a zone is missing

Advisory result (TPC-PY: tpc_zone 0.5.1, tpc_units 0.1.2, tpc_tests 0.2.1, tpc_form 0.2.1, tpc_eom 0.2.0; schema 0.5.0). TPX decides at the gate.

The manifold passes its structural check and then the isomorphism checks IC1 to IC4: each of the four environment quantities is identified by exactly one entry, and each DOF by exactly one; the dimensions match on both sides; every law and constraint an entry bears is about DOF that have entries; and the signature's FORM, carried through the entries, reads as its IMAGE_FORM.

Tips

  • Every entry needs all nine fields, including NAME: a measured result will later name the entry it belongs to.
  • An inventory quantity that no entry uses is refused by IC1. A DOF no entry reaches is not refused: IC2 holds it as a named gap, and the Measure Set's IC2_POLICY settles it at the final pass.
  • The checks take quantities by name. Two names for one quantity - "position" and "displacement" - count as two; list each quantity once.
  • Name quantities for what the kernel contains. A word like "height" or "track" brings gravity and a support into the reader's mind that the kernel does not declare.

Non-goals

The manifold has no field for exclusions. To restrict the kernel, go back to step 2 and add a constraint (TPS 2.3). The manifold cannot add physics either: a force exists in the UWC only if the kernel declares it.

Worked example

The step is its own example. Field rules: Inputs: the Translation Manifold.

Governing sections: TPS 2.3 and 2.1.


Previous: 2 Write the Prime Kernel. Next: 4 Write the Measure Set.