Step-by-step derivation
S001 · implies
Before
source roles = [qf-injective-restriction-property, restricted_injective, no-required-domain, []]
After
derived = [[restricted_injectivity_YesNo_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, legacy-injective, [-6, -5, -4, -3, -2, -1, 0]]
After
derived = [[-6, -5, -4, -3, -2, -1, 0]]
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, legacy-injective, [0, 1, 2, 3, 4, 5, 6]]
After
derived = [[0, 1, 2, 3, 4, 5, 6]]
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 = [legacy-injective, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
After
derived = [[[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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 = [legacy-injective, 0, -6, 1, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6]]
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 = [legacy-injective, 1, -5, 2, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6]]
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 = [legacy-injective, 2, -4, 3, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6]]
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 = [legacy-injective, 3, -3, 4, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6]]
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 = [legacy-injective, 4, -2, 5, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6]]
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, S008
S010 · implies
Before
source roles = [legacy-injective, 5, -1, 6, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6]]
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, S009
S011 · implies
Before
source roles = [legacy-injective, 6, 0, 0, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6]]
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, S010
S012 · implies
Before
source roles = [legacy-injective, -6, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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 = [legacy-injective, -5, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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, S012
S014 · implies
Before
source roles = [legacy-injective, -4, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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, S013
S015 · implies
Before
source roles = [legacy-injective, -3, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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, S014
S016 · implies
Before
source roles = [legacy-injective, -2, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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, S015
S017 · implies
Before
source roles = [legacy-injective, -1, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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, S016
S018 · implies
Before
source roles = [legacy-injective, 0, [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
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, S017
S019 · implies
Before
source roles = [legacy-injective, [-6, -5, -4, -3, -2, -1, 0], [0, 1, 2, 3, 4, 5, 6], [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]], Yes]
After
derived = [[Yes, Yes, Yes, Yes, Yes, Yes, Yes], [1, 1, 1, 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, S018
S020 · implies
Before
source roles = [C restriction domain, legacy-injective, [-6, -5, -4, -3, -2, -1, 0]]
After
derived = [[-6, -5, -4, -3, -2, -1, 0]]
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, S019
S021 · implies
Before
source roles = [RESTRICTED C ONLY, -6, -5, 1, 2]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S020
S022 · implies
Before
source roles = [RESTRICTED C ONLY, -6, -4, 1, 3]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S021
S023 · implies
Before
source roles = [RESTRICTED C ONLY, -6, -3, 1, 4]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S022
S024 · implies
Before
source roles = [RESTRICTED C ONLY, -6, -2, 1, 5]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S023
S025 · implies
Before
source roles = [RESTRICTED C ONLY, -6, -1, 1, 6]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S024
S026 · implies
Before
source roles = [RESTRICTED C ONLY, -6, 0, 1, 0]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S025
S027 · implies
Before
source roles = [RESTRICTED C ONLY, -5, -4, 2, 3]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S026
S028 · implies
Before
source roles = [RESTRICTED C ONLY, -5, -3, 2, 4]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S027
S029 · implies
Before
source roles = [RESTRICTED C ONLY, -5, -2, 2, 5]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S028
S030 · implies
Before
source roles = [RESTRICTED C ONLY, -5, -1, 2, 6]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S029
S031 · implies
Before
source roles = [RESTRICTED C ONLY, -5, 0, 2, 0]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S030
S032 · implies
Before
source roles = [RESTRICTED C ONLY, -4, -3, 3, 4]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S031
S033 · implies
Before
source roles = [RESTRICTED C ONLY, -4, -2, 3, 5]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S032
S034 · implies
Before
source roles = [RESTRICTED C ONLY, -4, -1, 3, 6]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S033
S035 · implies
Before
source roles = [RESTRICTED C ONLY, -4, 0, 3, 0]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S034
S036 · implies
Before
source roles = [RESTRICTED C ONLY, -3, -2, 4, 5]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S035
S037 · implies
Before
source roles = [RESTRICTED C ONLY, -3, -1, 4, 6]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S036
S038 · implies
Before
source roles = [RESTRICTED C ONLY, -3, 0, 4, 0]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S037
S039 · implies
Before
source roles = [RESTRICTED C ONLY, -2, -1, 5, 6]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S038
S040 · implies
Before
source roles = [RESTRICTED C ONLY, -2, 0, 5, 0]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S039
S041 · implies
Before
source roles = [RESTRICTED C ONLY, -1, 0, 6, 0]
After
derived = [No]
Conditions: none
Take EVERY distinct permitted pair x<y in numeric order,then compare its full outputs.This is not a stream-first repeated value or duplicate copies of one row.
Step identifiers and dependencies
Rule: Injective_EVERY_distinct_permitted_pair_numeric_LEX_test · Uses: G001, S040
S042 · implies
Before
source roles = [[-6, -5, -4, -3, -2, -1, 0], [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 2], [-4, 3], [-3, 4], [-2, 5], [-1, 6], [0, 0]]]
After
derived = [[], Yes]
Conditions: none
AFTER C⊆A and ORIGINAL whole-map totality,compare ONLY distinct inputs in C.Empty C is injective;collisions outside C do not count.A Yes does not certify global injectivity.
Step identifiers and dependencies
Rule: Injective_RESTRICTION_only_C_pairs_empty_true_NOT_global_property · Uses: G001, S041