Step-by-step derivation
S001 · implies
Before
source roles = [qf-surjective-first-preimage, [A, B, operation, pairs, t]]
After
derived = [first_preimage, no-invented-domain]
Conditions: none
Keep EACH bank’s keys/operation/domain distinct:LDL/PULSE/function legacy table underscores,TREE full tree_* with its declared domain,and permissive BASE signed without invented op/domain.All arithmetic respects the binary-primitive contract.
Step identifiers and dependencies
Rule: R69_SOURCE_specific_keys_operation_domain_AND_binary_contract · Uses: G001
S002 · implies
Before
source roles = [function ORIGINAL A, 100, [-1, 0]]
After
derived = [[-1, 0]]
Conditions: none
Type EVERY RAW SAFE label,distinctness and THIS bank’s cardinality bound;empty is allowed.Sort ONLY the derived representation,not original JSON.Do not exchange TREE and LDL limits.
Step identifiers and dependencies
Rule: Finite_RAW_ALL_SAFE_distinct_labels_then_derived_sort · Uses: G001, S001
S003 · implies
Before
source roles = [function ORIGINAL B, 100, [1, 3, 5]]
After
derived = [[1, 3, 5]]
Conditions: none
Type EVERY RAW SAFE label,distinctness and THIS bank’s cardinality bound;empty is allowed.Sort ONLY the derived representation,not original JSON.Do not exchange TREE and LDL limits.
Step identifiers and dependencies
Rule: Finite_RAW_ALL_SAFE_distinct_labels_then_derived_sort · Uses: G001, S002
S004 · implies
Before
source roles = [function ORIGINAL table, 0, [-1, 1]]
After
derived = [[-1, 1]]
Conditions: none
BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded.
Step identifiers and dependencies
Rule: Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup · Uses: G001, S003
S005 · implies
Before
source roles = [function ORIGINAL table, 1, [0, 3]]
After
derived = [[0, 3]]
Conditions: none
BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded.
Step identifiers and dependencies
Rule: Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup · Uses: G001, S004
S006 · implies
Before
source roles = [[-1, 0], [1, 3, 5], [[-1, 1], [0, 3]]]
After
derived = [Yes]
Conditions: none
FIRST qualify the WHOLE total function A→B:EXACTLY one output for EVERY A and all pairs in A×B.Identical repeated rows normalize in THIS legacy bank,unlike a different PULSE table rule.Qualify ORIGINAL B even for later codomain changes.
Step identifiers and dependencies
Rule: Function_WHOLE_qualified_total_AtoB_before_SURJECTIVE_claim · Uses: G001, S005
S007 · implies
Before
source roles = [ORIGINAL B, -1, 1, 1]
After
derived = [Yes]
Conditions: none
Compare EVERY permitted input’s output with THIS target.List EACH fiber completely;do not confuse target/input or infer surjectivity from cardinalities alone.
Step identifiers and dependencies
Rule: Surjective_EVERY_source_target_fiber_comparison · Uses: G001, S006
S008 · implies
Before
source roles = [ORIGINAL B, 0, 3, 1]
After
derived = [No]
Conditions: none
Compare EVERY permitted input’s output with THIS target.List EACH fiber completely;do not confuse target/input or infer surjectivity from cardinalities alone.
Step identifiers and dependencies
Rule: Surjective_EVERY_source_target_fiber_comparison · Uses: G001, S007
S009 · implies
Before
source roles = [ORIGINAL B, -1, 1, 3]
After
derived = [No]
Conditions: none
Compare EVERY permitted input’s output with THIS target.List EACH fiber completely;do not confuse target/input or infer surjectivity from cardinalities alone.
Step identifiers and dependencies
Rule: Surjective_EVERY_source_target_fiber_comparison · Uses: G001, S008
S010 · implies
Before
source roles = [ORIGINAL B, 0, 3, 3]
After
derived = [Yes]
Conditions: none
Compare EVERY permitted input’s output with THIS target.List EACH fiber completely;do not confuse target/input or infer surjectivity from cardinalities alone.
Step identifiers and dependencies
Rule: Surjective_EVERY_source_target_fiber_comparison · Uses: G001, S009
S011 · implies
Before
source roles = [ORIGINAL B, -1, 1, 5]
After
derived = [No]
Conditions: none
Compare EVERY permitted input’s output with THIS target.List EACH fiber completely;do not confuse target/input or infer surjectivity from cardinalities alone.
Step identifiers and dependencies
Rule: Surjective_EVERY_source_target_fiber_comparison · Uses: G001, S010
S012 · implies
Before
source roles = [ORIGINAL B, 0, 3, 5]
After
derived = [No]
Conditions: none
Compare EVERY permitted input’s output with THIS target.List EACH fiber completely;do not confuse target/input or infer surjectivity from cardinalities alone.
Step identifiers and dependencies
Rule: Surjective_EVERY_source_target_fiber_comparison · Uses: G001, S011
S013 · implies
Before
source roles = [5, [[1, [-1]], [3, [0]], [5, []]]]
After
derived = [[], does not exist]
Conditions: none
FIRST require t∈declared B.Then choose the NUMERICALLY LEAST input in its COMPLETE fiber,not the first raw-list position.Empty fiber gives none;existence does not imply uniqueness.
Step identifiers and dependencies
Rule: Surjective_FIRST_preimage_NUMERIC_least_or_none_NOT_unique · Uses: G001, S012