Step-by-step derivation
S001 · implies
Before
source roles = [qf-function-range-set, range, no-required-domain, []]
After
derived = [[ACTUAL_attained_range_set_STRING]]
Conditions: none
BASE sources do not acquire a generic legacy operation/domain or unknown-metadata ban.Retain metadata WITHOUT using it as an answer oracle.PULSE/legacy enforce their exact source keys,operation/domain.Do not impose universal tuples,/1 or input bounds.
Step identifiers and dependencies
Rule: R63_SOURCE_bank_keys_operation_domain_output_roles_metadata_not_oracle · Uses: G001
S002 · implies
Before
source roles = [A declared domain, pulse-function, [11, 12, 13, 14]]
After
derived = [[11, 12, 13, 14]]
Conditions: none
RAW A/B/C are distinct SAFE integers.Legacy injective limits100,but PULSE has NO such cap.Sort ONLY a derived work table,retaining original lists.
Step identifiers and dependencies
Rule: Map_RAW_distinct_SAFE_set_BANK_specific_cardinality_bound · Uses: G001, S001
S003 · implies
Before
source roles = [B declared codomain, pulse-function, [-46, 0, 47]]
After
derived = [[-46, 0, 47]]
Conditions: none
RAW A/B/C are distinct SAFE integers.Legacy injective limits100,but PULSE has NO such cap.Sort ONLY a derived work table,retaining original lists.
Step identifiers and dependencies
Rule: Map_RAW_distinct_SAFE_set_BANK_specific_cardinality_bound · Uses: G001, S002
S004 · implies
Before
source roles = [pulse-function, [[11, 47], [12, -46], [13, 0], [14, 47]]]
After
derived = [[[11, 47], [12, -46], [13, 0], [14, 47]]]
Conditions: none
PULSE rejects EXACT duplicate RAW rows BEFORE totality,not as a legal No.Legacy injective FIRST checks raw length≤200,then normalizes identical rows as one pair.Do not exchange these policies;type-check EVERY raw cell first.
Step identifiers and dependencies
Rule: Map_RAW_pairs_arity_SAFE_DUPLICATE_policy_BEFORE_totality · Uses: G001, S003
S005 · implies
Before
source roles = [pulse-function, 0, 11, 47, [11, 12, 13, 14], [-46, 0, 47]]
After
derived = [Yes, Yes, Yes]
Conditions: none
EVERY row input must belong to A and output to B,including unused/orphan rows.Even an empty A does not waive row typing.
Step identifiers and dependencies
Rule: Map_EACH_row_SOURCE_and_TARGET_membership_in_declared_sets · Uses: G001, S004
S006 · implies
Before
source roles = [pulse-function, 1, 12, -46, [11, 12, 13, 14], [-46, 0, 47]]
After
derived = [Yes, Yes, Yes]
Conditions: none
EVERY row input must belong to A and output to B,including unused/orphan rows.Even an empty A does not waive row typing.
Step identifiers and dependencies
Rule: Map_EACH_row_SOURCE_and_TARGET_membership_in_declared_sets · Uses: G001, S005
S007 · implies
Before
source roles = [pulse-function, 2, 13, 0, [11, 12, 13, 14], [-46, 0, 47]]
After
derived = [Yes, Yes, Yes]
Conditions: none
EVERY row input must belong to A and output to B,including unused/orphan rows.Even an empty A does not waive row typing.
Step identifiers and dependencies
Rule: Map_EACH_row_SOURCE_and_TARGET_membership_in_declared_sets · Uses: G001, S006
S008 · implies
Before
source roles = [pulse-function, 3, 14, 47, [11, 12, 13, 14], [-46, 0, 47]]
After
derived = [Yes, Yes, Yes]
Conditions: none
EVERY row input must belong to A and output to B,including unused/orphan rows.Even an empty A does not waive row typing.
Step identifiers and dependencies
Rule: Map_EACH_row_SOURCE_and_TARGET_membership_in_declared_sets · Uses: G001, S007
S009 · implies
Before
source roles = [pulse-function, 11, [[11, 47], [12, -46], [13, 0], [14, 47]]]
After
derived = [1, Yes]
Conditions: none
Count rows for EACH DECLARED A input;EXACTLY one is required for a total function.Missing rows/multiple distinct outputs fail;do not conceal them with a first-match lookup.
Step identifiers and dependencies
Rule: Map_EACH_declared_input_EXACTLY_one_normalized_row · Uses: G001, S008
S010 · implies
Before
source roles = [pulse-function, 12, [[11, 47], [12, -46], [13, 0], [14, 47]]]
After
derived = [1, Yes]
Conditions: none
Count rows for EACH DECLARED A input;EXACTLY one is required for a total function.Missing rows/multiple distinct outputs fail;do not conceal them with a first-match lookup.
Step identifiers and dependencies
Rule: Map_EACH_declared_input_EXACTLY_one_normalized_row · Uses: G001, S009
S011 · implies
Before
source roles = [pulse-function, 13, [[11, 47], [12, -46], [13, 0], [14, 47]]]
After
derived = [1, Yes]
Conditions: none
Count rows for EACH DECLARED A input;EXACTLY one is required for a total function.Missing rows/multiple distinct outputs fail;do not conceal them with a first-match lookup.
Step identifiers and dependencies
Rule: Map_EACH_declared_input_EXACTLY_one_normalized_row · Uses: G001, S010
S012 · implies
Before
source roles = [pulse-function, 14, [[11, 47], [12, -46], [13, 0], [14, 47]]]
After
derived = [1, Yes]
Conditions: none
Count rows for EACH DECLARED A input;EXACTLY one is required for a total function.Missing rows/multiple distinct outputs fail;do not conceal them with a first-match lookup.
Step identifiers and dependencies
Rule: Map_EACH_declared_input_EXACTLY_one_normalized_row · Uses: G001, S011
S013 · implies
Before
source roles = [pulse-function, [11, 12, 13, 14], [-46, 0, 47], [[11, 47], [12, -46], [13, 0], [14, 47]], Yes]
After
derived = [[Yes, Yes, Yes, Yes], [1, 1, 1, 1], Yes]
Conditions: none
A total function needs BOTH every declared input AND every row qualified.PULSE validity may legally return No;other queries and legacy injective REQUIRE actual totality BEFORE lookup.Empty A/table can be valid;unattained B labels remain.
Step identifiers and dependencies
Rule: Map_TOTAL_all_declared_inputs_AND_ALL_rows_before_any_lookup · Uses: G001, S012
S014 · implies
Before
source roles = [range, [11, 12, 13, 14], [-46, 0, 47], [[11, 47], [12, -46], [13, 0], [14, 47]]]
After
derived = [[-46, 0, 47], {-46, 0, 47}, []]Conditions: none
Read DECLARED A for domain and DECLARED B for codomain;ONLY the range collects attained outputs.Unattained B remains in the codomain.An empty-domain function has empty range but may have nonempty codomain.
Step identifiers and dependencies
Rule: Function_DECLARED_domain_codomain_VERSUS_ACTUAL_range · Uses: G001, S013