The Principia Machina/TPC-PY/vectors/tests corpus.json: Difference between revisions
Appearance
TPC-PY source vectors/tests_corpus.json (0.3.1), SHA-256 52d6f60511532730; conformed TPS 0.3.0; PROPOSED, not declared (CO-8) |
m 1 revision imported |
(No difference)
| |
Revision as of 04:53, 28 September 2026
{
"meta": {
"name": "tpc_tests_corpus",
"version": "0.3.1",
"status": "SELECTED D106.1, D107.1, D108.1 (2026-09-22); increment 8 at Option 1 of every slot (2026-09-24); schema 0.5.0 and the D variable, D176.1 and D177.1 (2026-09-26); VERIFIED (both residences)",
"conforms_tps": "0.1.0 revision 4 (kernel tests of TPS 2.2.3 and guide 3.6; isomorphism checks of TPS 2.3.7-2.3.14 and guide 4.6)",
"module": "tpc_tests 0.2.0 (tpc_zone 0.5.0 proposed, schema 0.5.0; tpc_form 0.2.0 unreleased, with D177.1; tpc_units 0.1.1; tpc_strike 0.2.0 proposed)",
"note": "Every expectation is hand-derived. The toy TFK is the zone corpus's: a mass on a linear spring with z fixed at 0; the spring with its forms adds a DOF t, an entry E_t and the declared forms (increment 8). Both are test fixtures, not physics under research. Both residences MUST reproduce every expect. 0.3.0 (schema 0.5.0; D176.1, D177.1): every fixture LAW carries a ROLE chosen by its physics, no earlier expectation changed; added, the research drafts A21 (scaled time), A10a (the heat equation, under ONE and SEVERAL) and corner_fix_t (a FIXed clock) with ROLEs added, a static beam whose D variable is its arc length, and the TMS switch at the final pass. 0.3.1 (S33, 2026-09-26): a LAW restating the motion of a FIXed or REMOVEd DOF carries ROLE CONSTRAINT (the toy's and the spring's FREE_Z, corner_fix_t's EOM_Z, N2 and KIN of the FIX fixture); a variant whose constraints leave z free gives FREE_Z EOM(z). No expectation moves."
},
"cases": [
{
"id": "t2/pass-toy",
"fn": "t2_findings",
"input": {
"prop": "the restoring force is linear in x (Hooke r\u00e9gime)"
},
"expect": "[]"
},
{
"id": "t2/and",
"fn": "t2_findings",
"input": {
"prop": "friction is negligible and the table is level"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/and-enclosed",
"fn": "t2_findings",
"input": {
"prop": "(friction is negligible and the table is level)"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/AND-double-enclosed",
"fn": "t2_findings",
"input": {
"prop": "((A holds AND B holds))"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/and-in-brackets",
"fn": "t2_findings",
"input": {
"prop": "(a and b) holds"
},
"expect": "[]"
},
{
"id": "t2/limit-between",
"fn": "t2_findings",
"input": {
"prop": "x lies between 0 and 1"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/word-boundary",
"fn": "t2_findings",
"input": {
"prop": "Andrew's law holds"
},
"expect": "[]"
},
{
"id": "t2/word-boundary-inner",
"fn": "t2_findings",
"input": {
"prop": "sand and band"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/ampersand",
"fn": "t2_findings",
"input": {
"prop": "x & y hold"
},
"expect": "[joins claims with \"&\"]"
},
{
"id": "t2/logical-and",
"fn": "t2_findings",
"input": {
"prop": "x \u2227 y"
},
"expect": "[joins claims with U+2227]"
},
{
"id": "t2/as-well-as",
"fn": "t2_findings",
"input": {
"prop": "mass as well as charge is conserved"
},
"expect": "[joins claims with \"as well as\"]"
},
{
"id": "t2/but",
"fn": "t2_findings",
"input": {
"prop": "it is linear, but it saturates"
},
"expect": "[joins claims with \"but\"]"
},
{
"id": "t2/whereas",
"fn": "t2_findings",
"input": {
"prop": "x rises whereas y falls"
},
"expect": "[joins claims with \"whereas\"]"
},
{
"id": "t2/semicolon",
"fn": "t2_findings",
"input": {
"prop": "A holds; B holds"
},
"expect": "[has a semicolon]"
},
{
"id": "t2/two-sentences",
"fn": "t2_findings",
"input": {
"prop": "It holds. Then it fails"
},
"expect": "[has more than one sentence]"
},
{
"id": "t2/two-sentences-bang",
"fn": "t2_findings",
"input": {
"prop": "Ohm's law holds! It is linear"
},
"expect": "[has more than one sentence]"
},
{
"id": "t2/abbreviation",
"fn": "t2_findings",
"input": {
"prop": "linear e.g. in x"
},
"expect": "[]"
},
{
"id": "t2/decimal",
"fn": "t2_findings",
"input": {
"prop": "x = 0.5 m exactly"
},
"expect": "[]"
},
{
"id": "t2/list-hyphen",
"fn": "t2_findings",
"input": {
"prop": "linear in x.\n- quadratic in y"
},
"expect": "[is a list]"
},
{
"id": "t2/list-number",
"fn": "t2_findings",
"input": {
"prop": "first claim\n2. second claim"
},
"expect": "[is a list]"
},
{
"id": "t2/quoted",
"fn": "t2_findings",
"input": {
"prop": "the word \"and\" is quoted"
},
"expect": "[]"
},
{
"id": "t2/curly-quoted",
"fn": "t2_findings",
"input": {
"prop": "the claim \u201cA and B\u201d is quoted"
},
"expect": "[]"
},
{
"id": "t2/semicolon-in-brackets",
"fn": "t2_findings",
"input": {
"prop": "x holds and (y holds; z holds)"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/two-findings",
"fn": "t2_findings",
"input": {
"prop": "one; two and three"
},
"expect": "[has a semicolon,joins claims with \"and\"]"
},
{
"id": "t2/unmatched-closer",
"fn": "t2_findings",
"input": {
"prop": "a) and b"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/unclosed-bracket",
"fn": "t2_findings",
"input": {
"prop": "(A and B"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/unclosed-quote",
"fn": "t2_findings",
"input": {
"prop": "he said \"A and B"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/mismatched-brackets",
"fn": "t2_findings",
"input": {
"prop": "(A and B]"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/enclosed-with-space",
"fn": "t2_findings",
"input": {
"prop": " [A and B] "
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/two-groups",
"fn": "t2_findings",
"input": {
"prop": "(A) and (B)"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/nested-in-unclosed",
"fn": "t2_findings",
"input": {
"prop": "(A (x) and B"
},
"expect": "[joins claims with \"and\"]"
},
{
"id": "t2/crlf-list",
"fn": "t2_findings",
"input": {
"prop": "first\r\n- second"
},
"expect": "[is a list]"
},
{
"id": "t2a/toy",
"fn": "t2_atomicity",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t2a/and",
"fn": "t2_atomicity",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "friction is negligible and the table is level",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[false,[ASSUMPTION:A_lin: PROPOSITION joins claims with \"and\" (T2)]]"
},
{
"id": "t2a/two",
"fn": "t2_atomicity",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_1",
"PROPOSITION": "x; y",
"REFS": [
"x"
]
},
{
"NAME": "A_2",
"PROPOSITION": "It holds. It fails",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[false,[ASSUMPTION:A_1: PROPOSITION has a semicolon (T2),ASSUMPTION:A_2: PROPOSITION has more than one sentence (T2)]]"
},
{
"id": "t2a/malformed-left-to-T1",
"fn": "t2_atomicity",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": 7,
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t2a/hidden-left-to-T1",
"fn": "t2_atomicity",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "a \u202e and b",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t2a/not-an-object",
"fn": "t2_atomicity",
"input": {
"tpk": "x"
},
"expect": "[true,[]]"
},
{
"id": "t3/toy",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t3/same-value",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
},
{
"NAME": "C_Z2",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "cm",
"STATEMENT": "z = 0 cm"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t3/same-value-other-unit",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0.05",
"UNIT": "m",
"STATEMENT": "z = 0.05 m"
},
{
"NAME": "C_Z2",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "5",
"UNIT": "cm",
"STATEMENT": "z = 5 cm"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t3/two-values",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
},
{
"NAME": "C_Z2",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "1",
"UNIT": "m",
"STATEMENT": "z = 1 m"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[false,[CONSTRAINT:C_NOZ and CONSTRAINT:C_Z2: z fixed at 0 m and at 1 m (T3)]]"
},
{
"id": "t3/removed-and-fixed",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
},
{
"NAME": "C_ZR",
"TARGET": "z",
"ACTION": "REMOVE",
"STATEMENT": "no z"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[false,[CONSTRAINT:C_NOZ and CONSTRAINT:C_ZR: z is both removed and fixed (T3)]]"
},
{
"id": "t3/removed-twice",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_R1",
"TARGET": "z",
"ACTION": "REMOVE",
"STATEMENT": "no z"
},
{
"NAME": "C_R2",
"TARGET": "z",
"ACTION": "REMOVE",
"STATEMENT": "no z"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t3/angle-equal",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "theta",
"DIMENSION": "1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "EOM(z)"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_A",
"TARGET": "theta",
"ACTION": "FIX",
"VALUE": "90",
"UNIT": "deg",
"STATEMENT": "theta = 90 deg"
},
{
"NAME": "C_B",
"TARGET": "theta",
"ACTION": "FIX",
"VALUE": "1.5707963267949",
"UNIT": "rad",
"STATEMENT": "theta = 1.5707963267949 rad"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t3/angle-unequal",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "theta",
"DIMENSION": "1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "EOM(z)"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_A",
"TARGET": "theta",
"ACTION": "FIX",
"VALUE": "90",
"UNIT": "deg",
"STATEMENT": "theta = 90 deg"
},
{
"NAME": "C_B",
"TARGET": "theta",
"ACTION": "FIX",
"VALUE": "1.5708",
"UNIT": "rad",
"STATEMENT": "theta = 1.5708 rad"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[false,[CONSTRAINT:C_A and CONSTRAINT:C_B: theta fixed at 90 deg and at 1.5708 rad (T3)]]"
},
{
"id": "t3/kind-differs",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "f",
"DIMENSION": "T-1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "EOM(z)"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_F1",
"TARGET": "f",
"ACTION": "FIX",
"VALUE": "1",
"UNIT": "Hz",
"STATEMENT": "f = 1 Hz"
},
{
"NAME": "C_F2",
"TARGET": "f",
"ACTION": "FIX",
"VALUE": "6.283185307179586",
"UNIT": "rad s-1",
"STATEMENT": "f = 6.283185307179586 rad s-1"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[false,[CONSTRAINT:C_F1 and CONSTRAINT:C_F2: the two FIX values of f cannot be compared: units of different kind: Hz1 and rad1 (T3)]]"
},
{
"id": "t3/three",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_A",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "z = 0 m"
},
{
"NAME": "C_B",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "1",
"UNIT": "m",
"STATEMENT": "z = 1 m"
},
{
"NAME": "C_C",
"TARGET": "z",
"ACTION": "REMOVE",
"STATEMENT": "no z"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[false,[CONSTRAINT:C_A and CONSTRAINT:C_B: z fixed at 0 m and at 1 m (T3),CONSTRAINT:C_A and CONSTRAINT:C_C: z is both removed and fixed (T3),CONSTRAINT:C_B and CONSTRAINT:C_C: z is both removed and fixed (T3)]]"
},
{
"id": "t3/overflow",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
},
{
"NAME": "C_ZH",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "1e9999",
"UNIT": "m",
"STATEMENT": "z = 1e9999 m"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[false,[CONSTRAINT:C_NOZ and CONSTRAINT:C_ZH: the two FIX values of z cannot be compared (T3)]]"
},
{
"id": "t3/no-depth",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"S_MAX": 0
}
}
},
"expect": "[false,[T3: S_MAX is not a declared depth of at least 1]]"
},
{
"id": "t3/depth-bool",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"tms": {
"PARAMETERS": {
"S_MAX": true
}
}
},
"expect": "[false,[T3: S_MAX is not a declared depth of at least 1]]"
},
{
"id": "t5/toy",
"fn": "t5_dof_yield",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "t5/idle-dof",
"fn": "t5_dof_yield",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "w",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[false,[DOF:w: named by no LAW (T5 c)]]"
},
{
"id": "t5/boundary-is-not-a-law",
"fn": "t5_dof_yield",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "w",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
},
{
"NAME": "B_w",
"PREDICATE": "w > 0",
"REFS": [
"w"
]
}
]
}
},
"expect": "[false,[DOF:w: named by no LAW (T5 c)]]"
},
{
"id": "t5/void-constraint",
"fn": "t5_dof_yield",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[false,[CONSTRAINT:C_NOZ: TARGET z is named by no LAW, so no law leaves it free (T5 b),DOF:z: named by no LAW (T5 c)]]"
},
{
"id": "kt/toy",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"note": "the OPTIONAL rule as a vector (V8): a TPK without any form passes as at increment 7; T4 and T6 read NO FORM and the inspections owed are listed",
"expect": "[true,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,NO FORM,[]],[T6,NO FORM,[]]],[BOUNDARY:B_small: no CONDITION; T6 totality by inspection,LAW:FREE_Z: no EQUATION; T4 and T3 over this law by inspection,LAW:KIN: no EQUATION; T4 and T3 over this law by inspection,LAW:N2: no EQUATION; T4 and T3 over this law by inspection]]"
},
{
"id": "kt/T1-stops",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"q"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[false,[[T1,false,[LAW:KIN: REFS q does not resolve]],[T2,NOT_RUN,[]],[T5,NOT_RUN,[]],[T4,NOT_RUN,[]],[T6,NOT_RUN,[]]],[]]"
},
{
"id": "kt/T2-T5",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "w",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "friction is negligible and the table is level",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[false,[[T1,true,[]],[T2,false,[ASSUMPTION:A_lin: PROPOSITION joins claims with \"and\" (T2)]],[T5,false,[DOF:w: named by no LAW (T5 c)]],[T4,NO FORM,[]],[T6,NO FORM,[]]],[BOUNDARY:B_small: no CONDITION; T6 totality by inspection,LAW:FREE_Z: no EQUATION; T4 and T3 over this law by inspection,LAW:KIN: no EQUATION; T4 and T3 over this law by inspection,LAW:N2: no EQUATION; T4 and T3 over this law by inspection]]"
},
{
"id": "kt/forms-pass",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"expect": "[true,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,true,[]],[T6,true,[]]],[]]"
},
{
"id": "kt/T4-fails",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"expect": "[false,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,false,[LAW:N2: EQUATION sides have dimensions L1 M1 T-2 and L2 M1 T-2 (T4)]],[T6,true,[]]],[]]"
},
{
"id": "kt/T6-fails",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "x / x_max < 1"
}
]
}
},
"expect": "[false,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,true,[]],[T6,false,[BOUNDARY:B_small: CONDITION uses / on x_max with no guard x_max != 0 (T6)]]],[]]"
},
{
"id": "kt/partial-forms",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"note": "a law without a form is listed, never silently passed (kernel tests 12.3)",
"expect": "[true,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,true,[]],[T6,true,[]]],[LAW:KIN: no EQUATION; T4 and T3 over this law by inspection]]"
},
{
"id": "kt/T1-names",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"expect": "[false,[[T1,false,[LAW:KIN: EQUATION names t, which is not in REFS]],[T2,NOT_RUN,[]],[T5,NOT_RUN,[]],[T4,NOT_RUN,[]],[T6,NOT_RUN,[]]],[]]"
},
{
"id": "t3/laws-ground-fragment",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1",
"VALUE": "2",
"UNIT": "kg"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2",
"VALUE": "3",
"UNIT": "N m-1"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
},
{
"NAME": "C_X",
"TARGET": "x",
"ACTION": "FIX",
"VALUE": "0.1",
"UNIT": "m",
"STATEMENT": "x = 0.1 m"
},
{
"NAME": "C_V",
"TARGET": "v",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m s-1",
"STATEMENT": "v = 0 m s-1"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"note": "every identifier of N2 is bound; D(v,t) of the FIXed v is 0; KIN and FREE_Z evaluate 0 = 0",
"expect": "[false,[LAW:N2 and CONSTRAINT:C_V and CONSTRAINT:C_X: N2 evaluates 0 = -0.3 under the fixed values (T3)]]"
},
{
"id": "t3/laws-nothing-claimed",
"fn": "t3_consistency",
"input": {
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
},
"tms": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
},
"expect": "[true,[]]"
},
{
"id": "ic/forms-pass",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "time",
"DIMENSION": "T1"
}
],
"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"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the laboratory clock reading",
"FALSIFIER": "two laboratory clocks that disagree beyond their stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "ic/IC4a-fails",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "time",
"DIMENSION": "T1"
}
],
"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) = position"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the laboratory clock reading",
"FALSIFIER": "two laboratory clocks that disagree beyond their stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"expect": "[REJECT,[IC4(a): SIGNATURE:time_derivative: FORM under the entries reads D(position,time)=velocity, not IMAGE_FORM D(position,time)=position],[]]"
},
{
"id": "ic/IC4a-undecided-is-IC2-gap",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v",
"t"
],
"IMAGE": "d/dt maps position to velocity",
"FORM": "D(x, t) = v",
"IMAGE_FORM": "D(position, height) = velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"note": "a DOF in OVER with no entry is IC2's gap, not IC4's failure (S8): the signature is undecided, not rejected",
"expect": "[GAP,[],[IC2: DOF t is untied]]"
},
{
"id": "fp/forms-pass",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "time",
"DIMENSION": "T1"
}
],
"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"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the laboratory clock reading",
"FALSIFIER": "two laboratory clocks that disagree beyond their stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "fp/T3-laws",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1",
"VALUE": "2",
"UNIT": "kg"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2",
"VALUE": "3",
"UNIT": "N m-1"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
},
{
"NAME": "C_X",
"TARGET": "x",
"ACTION": "FIX",
"VALUE": "0.1",
"UNIT": "m",
"STATEMENT": "x = 0.1 m"
},
{
"NAME": "C_V",
"TARGET": "v",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m s-1",
"STATEMENT": "v = 0 m s-1"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "time",
"DIMENSION": "T1"
}
],
"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"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the laboratory clock reading",
"FALSIFIER": "two laboratory clocks that disagree beyond their stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[REJECT,[LAW:N2 and CONSTRAINT:C_V and CONSTRAINT:C_X: N2 evaluates 0 = -0.3 under the fixed values (T3)],[]]"
},
{
"id": "ic/toy",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "ic/gap",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "L1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[GAP,[],[IC2: DOF v is untied]]"
},
{
"id": "ic/gap-borne-law",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[REJECT,[IC4(c): ENTRY:E_x: BEARS LAW:KIN, which names DOF v that no entry identifies,IC4(c): ENTRY:E_x: BEARS LAW:N2, which names DOF v that no entry identifies],[IC2: DOF v is untied]]"
},
{
"id": "ic/IC1",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "acceleration",
"DIMENSION": "L1 T-2"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[REJECT,[IC1: environment quantity acceleration is identified by no entry],[]]"
},
{
"id": "ic/codomain",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "REMOVE",
"STATEMENT": "no z"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[REJECT,[CODOMAIN: ENTRY:E_z identifies DOF z, which CONSTRAINT:C_NOZ removes,IC4(c): ENTRY:E_z: BEARS CONSTRAINT:C_NOZ, whose TARGET z no entry identifies,IC4(c): ENTRY:E_z: BEARS LAW:FREE_Z, which names DOF z that no entry identifies],[]]"
},
{
"id": "ic/removed-needs-no-entry",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "REMOVE",
"STATEMENT": "no z"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "ic/IC3-dof",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "extension",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_x2",
"DOF": "x",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "extension",
"IDENTIFICATION": "x is extension",
"FALSIFIER": "a measured extension unlike x",
"FALSIFIER_CLASS": "F2",
"BEARS": [],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[REJECT,[IC3: DOF x is identified with inequivalent quantities extension, position (ENTRY:E_x, ENTRY:E_x2)],[]]"
},
{
"id": "ic/IC3-both",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_h2",
"DOF": "x",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "x is height",
"FALSIFIER": "a measured height unlike x",
"FALSIFIER_CLASS": "F2",
"BEARS": [],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[REJECT,[IC3: DOF x is identified with inequivalent quantities height, position (ENTRY:E_h2, ENTRY:E_x),IC3: environment quantity height is identified with DOF x, z (ENTRY:E_h2, ENTRY:E_z)],[]]"
},
{
"id": "ic/IC4b-both-sides",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[REJECT,[IC4(b): ENTRY:E_v: DIMENSION L1 differs from DOF v's L1 T-1,IC4(b): ENTRY:E_v: DIMENSION L1 differs from environment quantity velocity's L1 T-1],[]]"
},
{
"id": "ic/IC4b-environment",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-2"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[REJECT,[IC4(b): ENTRY:E_v: DIMENSION L1 T-1 differs from environment quantity velocity's L1 T-2],[]]"
},
{
"id": "ic/IC4b-respelled",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "T-1 L1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "ic/not-run-trm",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
}
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[NOT_RUN,[IC: the TrM is not well-formed],[]]"
},
{
"id": "ic/not-run-tpk",
"fn": "ic_checks",
"input": {
"trm": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"tpk": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"q"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
}
},
"expect": "[NOT_RUN,[IC: the TPK does not pass T1],[]]"
},
{
"id": "fp/toy",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "fp/gap",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "L1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[GAP,[],[IC2: DOF v is untied]]"
},
{
"id": "fp/gap-rejected",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "L1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10,
"IC2_POLICY": "REJECT"
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[REJECT,[IC2: DOF v is untied and IC2_POLICY is REJECT],[IC2: DOF v is untied]]"
},
{
"id": "fp/T3",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
},
{
"NAME": "C_Z2",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "1",
"UNIT": "m",
"STATEMENT": "z = 1 m"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[REJECT,[CONSTRAINT:C_NOZ and CONSTRAINT:C_Z2: z fixed at 0 m and at 1 m (T3)],[]]"
},
{
"id": "fp/not-run-kernel",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "friction is negligible and the table is level",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[NOT_RUN,[final pass: the TPK does not pass T1, T2, T5, T4 and T6],[]]"
},
{
"id": "fp/not-run-trm",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "acceleration",
"DIMENSION": "L1 T-2"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[NOT_RUN,[final pass: the TrM does not pass IC1-IC4],[]]"
},
{
"id": "fp/not-run-tms",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x"
],
"ROLE": "EOM(v)"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v"
],
"ROLE": "EOM(x)"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z"
],
"ROLE": "CONSTRAINT"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
]
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": [
"x",
"v"
],
"IMAGE": "d/dt maps position to velocity"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 0
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[NOT_RUN,[final pass: the TMS is not well-formed],[]]"
},
{
"id": "fp/not-an-object",
"fn": "final_checks",
"input": {
"tfk": "x"
},
"expect": "[NOT_RUN,[final pass: the TFK is not an object],[]]"
},
{
"id": "kt/s050-scaled-time-A21",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "X",
"DIMENSION": "1"
},
{
"NAME": "V",
"DIMENSION": "1"
},
{
"NAME": "tau",
"DIMENSION": "1"
}
],
"LAW": [
{
"NAME": "KIN",
"STATEMENT": "dX/dtau = V",
"REFS": [
"X",
"V",
"tau"
],
"ROLE": "EOM(X)",
"EQUATION": "D(X, tau) = V"
},
{
"NAME": "N2",
"STATEMENT": "dV/dtau = -X",
"REFS": [
"X",
"V",
"tau"
],
"ROLE": "EOM(V)",
"EQUATION": "D(V, tau) = -X"
}
]
}
},
"note": "out/A/suite/A21 with ROLEs added: D(X,tau) of X and tau of DIMENSION 1 is 1 (D177.1); the DIMENSION T1 requirement refused it before",
"expect": "[true,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,true,[]],[T6,NO FORM,[]]],[]]"
},
{
"id": "fp/s050-scaled-time-A21",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "X",
"DIMENSION": "1"
},
{
"NAME": "V",
"DIMENSION": "1"
},
{
"NAME": "tau",
"DIMENSION": "1"
}
],
"LAW": [
{
"NAME": "KIN",
"STATEMENT": "dX/dtau = V",
"REFS": [
"X",
"V",
"tau"
],
"ROLE": "EOM(X)",
"EQUATION": "D(X, tau) = V"
},
{
"NAME": "N2",
"STATEMENT": "dV/dtau = -X",
"REFS": [
"X",
"V",
"tau"
],
"ROLE": "EOM(V)",
"EQUATION": "D(V, tau) = -X"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "env_X",
"DIMENSION": "1"
},
{
"ENVIRONMENT_QUANTITY": "env_V",
"DIMENSION": "1"
},
{
"ENVIRONMENT_QUANTITY": "env_tau",
"DIMENSION": "1"
}
],
"SIGNATURE": [],
"TRANSFORMATIONS": [
{
"NAME": "unit_rescaling",
"STATEMENT": "a change of units rescales each value"
}
]
},
"ENTRIES": [
{
"NAME": "E_X",
"DOF": "X",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_X",
"IDENTIFICATION": "X is identified with the measured env_X",
"FALSIFIER": "a measured env_X outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN",
"N2"
],
"DIMENSION": "1"
},
{
"NAME": "E_V",
"DOF": "V",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_V",
"IDENTIFICATION": "V is identified with the measured env_V",
"FALSIFIER": "a measured env_V outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN",
"N2"
],
"DIMENSION": "1"
},
{
"NAME": "E_tau",
"DOF": "tau",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_tau",
"IDENTIFICATION": "tau is identified with the measured env_tau",
"FALSIFIER": "a measured env_tau outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN",
"N2"
],
"DIMENSION": "1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "kt/s050-corner-fix-t",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "t",
"DIMENSION": "T1"
},
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "EOM_X",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "EOM_Z",
"STATEMENT": "m d2z/dt2 = 0",
"REFS": [
"m",
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "m * D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_kpos",
"PROPOSITION": "k_s is positive",
"REFS": [
"k_s"
]
},
{
"NAME": "A_mpos",
"PROPOSITION": "m is positive",
"REFS": [
"m"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "only motion on the spring axis is described: z = 0"
},
{
"NAME": "C_T",
"TARGET": "t",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "s",
"STATEMENT": "t = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"note": "out/D/examples/corner_fix_t.json with ROLEs added: a FIXed clock is no D variable (D177.1); under schema 0.4.0 it passed every check (E-N7)",
"expect": "[false,[[T1,false,[LAW:EOM_X: EQUATION's D variable t is the TARGET of CONSTRAINT:C_T,LAW:EOM_Z: EQUATION's D variable t is the TARGET of CONSTRAINT:C_T,LAW:KIN: EQUATION's D variable t is the TARGET of CONSTRAINT:C_T]],[T2,NOT_RUN,[]],[T5,NOT_RUN,[]],[T4,NOT_RUN,[]],[T6,NOT_RUN,[]]],[]]"
},
{
"id": "kt/s050-corner-fix-t-unfixed",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "t",
"DIMENSION": "T1"
},
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "EOM_X",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "EOM_Z",
"STATEMENT": "m d2z/dt2 = 0",
"REFS": [
"m",
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "m * D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_kpos",
"PROPOSITION": "k_s is positive",
"REFS": [
"k_s"
]
},
{
"NAME": "A_mpos",
"PROPOSITION": "m is positive",
"REFS": [
"m"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "only motion on the spring axis is described: z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
}
},
"note": "the same kernel without C_T: t is a D variable again",
"expect": "[true,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,true,[]],[T6,true,[]]],[]]"
},
{
"id": "kt/s050-heat-under-one",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "u",
"DIMENSION": "TH1"
},
{
"NAME": "X",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "alpha_d",
"DIMENSION": "L2 T-1"
},
{
"NAME": "L_rod",
"DIMENSION": "L1"
}
],
"LAW": [
{
"NAME": "HEAT",
"STATEMENT": "du/dt = alpha d2u/dX2",
"REFS": [
"u",
"t",
"alpha_d",
"X"
],
"ROLE": "EOM(u)",
"EQUATION": "D(u, t) = alpha_d * D(u, X, 2)"
}
],
"BOUNDARY": [
{
"NAME": "B_rod",
"PREDICATE": "0 <= X <= L_rod",
"REFS": [
"X",
"L_rod"
],
"CONDITION": "0 <= X and X <= L_rod"
}
]
}
},
"note": "out/A/suite/A10a with ROLE EOM(u): two D variables under ONE, the default, are T1's refusal",
"expect": "[false,[[T1,false,[TPK: D_VARIABLES is ONE (ONE when absent), but the forms use D variables X (LAW:HEAT), t (LAW:HEAT)]],[T2,NOT_RUN,[]],[T5,NOT_RUN,[]],[T4,NOT_RUN,[]],[T6,NOT_RUN,[]]],[]]"
},
{
"id": "kt/s050-heat-under-several",
"fn": "kernel_tests",
"input": {
"tpk": {
"PARAMETERS": {
"D_VARIABLES": "SEVERAL"
},
"DOF": [
{
"NAME": "u",
"DIMENSION": "TH1"
},
{
"NAME": "X",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "alpha_d",
"DIMENSION": "L2 T-1"
},
{
"NAME": "L_rod",
"DIMENSION": "L1"
}
],
"LAW": [
{
"NAME": "HEAT",
"STATEMENT": "du/dt = alpha d2u/dX2",
"REFS": [
"u",
"t",
"alpha_d",
"X"
],
"ROLE": "EOM(u)",
"EQUATION": "D(u, t) = alpha_d * D(u, X, 2)"
}
],
"BOUNDARY": [
{
"NAME": "B_rod",
"PREDICATE": "0 <= X <= L_rod",
"REFS": [
"X",
"L_rod"
],
"CONDITION": "0 <= X and X <= L_rod"
}
]
}
},
"note": "SEVERAL admits the partial derivatives; T4: D(u,X,2) is TH1 L-2 and alpha_d times it TH1 T-1, as D(u,t)",
"expect": "[true,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,true,[]],[T6,true,[]]],[]]"
},
{
"id": "fp/s050-heat-under-several",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"PARAMETERS": {
"D_VARIABLES": "SEVERAL"
},
"DOF": [
{
"NAME": "u",
"DIMENSION": "TH1"
},
{
"NAME": "X",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "alpha_d",
"DIMENSION": "L2 T-1"
},
{
"NAME": "L_rod",
"DIMENSION": "L1"
}
],
"LAW": [
{
"NAME": "HEAT",
"STATEMENT": "du/dt = alpha d2u/dX2",
"REFS": [
"u",
"t",
"alpha_d",
"X"
],
"ROLE": "EOM(u)",
"EQUATION": "D(u, t) = alpha_d * D(u, X, 2)"
}
],
"BOUNDARY": [
{
"NAME": "B_rod",
"PREDICATE": "0 <= X <= L_rod",
"REFS": [
"X",
"L_rod"
],
"CONDITION": "0 <= X and X <= L_rod"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "env_u",
"DIMENSION": "TH1"
},
{
"ENVIRONMENT_QUANTITY": "env_X",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "env_t",
"DIMENSION": "T1"
}
],
"SIGNATURE": [],
"TRANSFORMATIONS": [
{
"NAME": "unit_rescaling",
"STATEMENT": "a change of units rescales each value"
}
]
},
"ENTRIES": [
{
"NAME": "E_u",
"DOF": "u",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_u",
"IDENTIFICATION": "u is identified with the measured env_u",
"FALSIFIER": "a measured env_u outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"HEAT"
],
"DIMENSION": "TH1"
},
{
"NAME": "E_X",
"DOF": "X",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_X",
"IDENTIFICATION": "X is identified with the measured env_X",
"FALSIFIER": "a measured env_X outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"HEAT"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_t",
"IDENTIFICATION": "t is identified with the measured env_t",
"FALSIFIER": "a measured env_t outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"HEAT"
],
"DIMENSION": "T1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[PASS,[],[]]"
},
{
"id": "fp/s050-heat-under-one",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "u",
"DIMENSION": "TH1"
},
{
"NAME": "X",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "alpha_d",
"DIMENSION": "L2 T-1"
},
{
"NAME": "L_rod",
"DIMENSION": "L1"
}
],
"LAW": [
{
"NAME": "HEAT",
"STATEMENT": "du/dt = alpha d2u/dX2",
"REFS": [
"u",
"t",
"alpha_d",
"X"
],
"ROLE": "EOM(u)",
"EQUATION": "D(u, t) = alpha_d * D(u, X, 2)"
}
],
"BOUNDARY": [
{
"NAME": "B_rod",
"PREDICATE": "0 <= X <= L_rod",
"REFS": [
"X",
"L_rod"
],
"CONDITION": "0 <= X and X <= L_rod"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "env_u",
"DIMENSION": "TH1"
},
{
"ENVIRONMENT_QUANTITY": "env_X",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "env_t",
"DIMENSION": "T1"
}
],
"SIGNATURE": [],
"TRANSFORMATIONS": [
{
"NAME": "unit_rescaling",
"STATEMENT": "a change of units rescales each value"
}
]
},
"ENTRIES": [
{
"NAME": "E_u",
"DOF": "u",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_u",
"IDENTIFICATION": "u is identified with the measured env_u",
"FALSIFIER": "a measured env_u outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"HEAT"
],
"DIMENSION": "TH1"
},
{
"NAME": "E_X",
"DOF": "X",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_X",
"IDENTIFICATION": "X is identified with the measured env_X",
"FALSIFIER": "a measured env_X outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"HEAT"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "inside every declared boundary",
"ENVIRONMENT_QUANTITY": "env_t",
"IDENTIFICATION": "t is identified with the measured env_t",
"FALSIFIER": "a measured env_t outside the kernel's prediction beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"HEAT"
],
"DIMENSION": "T1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[NOT_RUN,[final pass: the TPK does not pass T1, T2, T5, T4 and T6],[]]"
},
{
"id": "kt/s050-beam-arc-length",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "w",
"DIMENSION": "L1"
},
{
"NAME": "s",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "M_b",
"DIMENSION": "L2 M1 T-2"
},
{
"NAME": "E_y",
"DIMENSION": "L-1 M1 T-2"
},
{
"NAME": "I_a",
"DIMENSION": "L4"
}
],
"LAW": [
{
"NAME": "BEAM",
"STATEMENT": "d2w/ds2 = M_b / (E_y I_a)",
"REFS": [
"w",
"s",
"M_b",
"E_y",
"I_a"
],
"ROLE": "EOM(w)",
"EQUATION": "D(w, s, 2) = M_b / (E_y * I_a)"
}
]
}
},
"note": "T4 on a non-time D variable: D(w,s,2) is L1 less 2 x L1 = L-1, as M_b/(E_y*I_a)",
"expect": "[true,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,true,[]],[T6,NO FORM,[]]],[]]"
},
{
"id": "kt/s050-beam-T4-fails",
"fn": "kernel_tests",
"input": {
"tpk": {
"DOF": [
{
"NAME": "w",
"DIMENSION": "L1"
},
{
"NAME": "s",
"DIMENSION": "L1"
}
],
"CONSTANT": [
{
"NAME": "M_b",
"DIMENSION": "L2 M1 T-2"
},
{
"NAME": "E_y",
"DIMENSION": "L-1 M1 T-2"
}
],
"LAW": [
{
"NAME": "BEAM",
"STATEMENT": "d2w/ds2 = M_b / E_y",
"REFS": [
"w",
"s",
"M_b",
"E_y"
],
"ROLE": "EOM(w)",
"EQUATION": "D(w, s, 2) = M_b / E_y"
}
]
}
},
"note": "dim(w) less 2 dim(s) is L-1; M_b/E_y is L3",
"expect": "[false,[[T1,true,[]],[T2,true,[]],[T5,true,[]],[T4,false,[LAW:BEAM: EQUATION sides have dimensions L-1 and L3 (T4)]],[T6,NO FORM,[]]],[]]"
},
{
"id": "fp/s050-structure-check-off",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "time",
"DIMENSION": "T1"
}
],
"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"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the laboratory clock reading",
"FALSIFIER": "two laboratory clocks that disagree beyond their stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10,
"STRUCTURE_CHECK": "OFF"
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"note": "STRUCTURE_CHECK OFF is a well-formed TMS; T3 and IC2's disposition read nothing of it",
"expect": "[PASS,[],[]]"
},
{
"id": "fp/s050-structure-check-refused",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "time",
"DIMENSION": "T1"
}
],
"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"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the laboratory clock reading",
"FALSIFIER": "two laboratory clocks that disagree beyond their stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10,
"STRUCTURE_CHECK": "YES"
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[NOT_RUN,[final pass: the TMS is not well-formed],[]]"
},
{
"id": "fp/s050-explicit-one",
"fn": "final_checks",
"input": {
"tfk": {
"TPK": {
"PARAMETERS": {
"D_VARIABLES": "ONE"
},
"DOF": [
{
"NAME": "x",
"DIMENSION": "L1"
},
{
"NAME": "v",
"DIMENSION": "L1 T-1"
},
{
"NAME": "z",
"DIMENSION": "L1"
},
{
"NAME": "t",
"DIMENSION": "T1"
}
],
"CONSTANT": [
{
"NAME": "m",
"DIMENSION": "M1"
},
{
"NAME": "k_s",
"DIMENSION": "M1 T-2"
},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
}
],
"LAW": [
{
"NAME": "N2",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": [
"m",
"v",
"k_s",
"x",
"t"
],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": [
"x",
"v",
"t"
],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "FREE_Z",
"STATEMENT": "d2z/dt2 = 0",
"REFS": [
"z",
"t"
],
"ROLE": "CONSTRAINT",
"EQUATION": "D(z, t, 2) = 0"
}
],
"ASSUMPTION": [
{
"NAME": "A_lin",
"PROPOSITION": "the restoring force is linear in x (Hooke r\u00e9gime)",
"REFS": [
"x"
]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "motion confined to z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": [
"x",
"x_max"
],
"CONDITION": "abs(x) < x_max"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{
"ENVIRONMENT_QUANTITY": "position",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "velocity",
"DIMENSION": "L1 T-1"
},
{
"ENVIRONMENT_QUANTITY": "height",
"DIMENSION": "L1"
},
{
"ENVIRONMENT_QUANTITY": "time",
"DIMENSION": "T1"
}
],
"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"
}
],
"TRANSFORMATIONS": [
{
"NAME": "time_translation",
"STATEMENT": "t -> t + t0"
}
]
},
"ENTRIES": [
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement from equilibrium along the spring axis",
"FALSIFIER": "a measured restoring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"N2",
"KIN"
],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the time derivative of x",
"FALSIFIER": "a measured velocity differing from dx/dt beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": [
"KIN"
],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height above the track",
"FALSIFIER": "any measured z different from 0",
"FALSIFIER_CLASS": "F3",
"BEARS": [
"FREE_Z",
"C_NOZ"
],
"DIMENSION": "L1"
},
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the laboratory clock reading",
"FALSIFIER": "two laboratory clocks that disagree beyond their stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{
"NAME": "w_a",
"VALUE": "1"
},
{
"NAME": "w_s",
"VALUE": "0.5"
}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": [
"SR1",
"WSUM:w_a*A;w_s*S",
"S"
],
"LIMITING": []
}
]
}
}
},
"expect": "[PASS,[],[]]"
}
]
}