逐步推導
S001 · implies
操作前
source roles = [qf-injective-table-property, injective, no-required-domain, []]
操作後
derived = [[injective_YesNo_STRING]]
條件:無
legacy核來源精確欄位及operation/domain;BASE整數保metadata但不當oracle。先分NUMBER、字串、fractionpair或vector等式,不強套同一格式;原中英/AST/status不變。
步驟識別與依賴
規則:R64_SOURCE_exact_legacy_interface_BASE_metadata_AND_output_roles · 依賴:G001
S002 · implies
操作前
source roles = [ORIGINAL f domain, [-3, -2, -1, 0]]
操作後
derived = [[-3, -2, -1, 0]]
條件:無
raw集合distinct、SAFE且≤100;排序只是衍生工作表,原list及來源雜湊不變。
步驟識別與依賴
規則:FiniteMap_RAW_distinct_SAFE_set_bound100 · 依賴:G001, S001
S003 · implies
操作前
source roles = [ORIGINAL f codomain, [1, 3, 5, 7, 9]]
操作後
derived = [[1, 3, 5, 7, 9]]
條件:無
raw集合distinct、SAFE且≤100;排序只是衍生工作表,原list及來源雜湊不變。
步驟識別與依賴
規則:FiniteMap_RAW_distinct_SAFE_set_bound100 · 依賴:G001, S002
S004 · implies
操作前
source roles = [ORIGINAL f, [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [[[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
條件:無
先驗全部raw row長度2、SAFE且raw≤200,再把相同row視為同一有序對;不是把不同output的同input合併。空domain也不略過raw檢查。
步驟識別與依賴
規則:FiniteMap_RAW200_bound_BEFORE_identical_row_ASSET_normalization · 依賴:G001, S003
S005 · implies
操作前
source roles = [ORIGINAL f, 0, -3, 1, [-3, -2, -1, 0], [1, 3, 5, 7, 9]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S004
S006 · implies
操作前
source roles = [ORIGINAL f, 1, -2, 3, [-3, -2, -1, 0], [1, 3, 5, 7, 9]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S005
S007 · implies
操作前
source roles = [ORIGINAL f, 2, -1, 5, [-3, -2, -1, 0], [1, 3, 5, 7, 9]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S006
S008 · implies
操作前
source roles = [ORIGINAL f, 3, 0, 7, [-3, -2, -1, 0], [1, 3, 5, 7, 9]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S007
S009 · implies
操作前
source roles = [ORIGINAL f, -3, [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S008
S010 · implies
操作前
source roles = [ORIGINAL f, -2, [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S009
S011 · implies
操作前
source roles = [ORIGINAL f, -1, [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S010
S012 · implies
操作前
source roles = [ORIGINAL f, 0, [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S011
S013 · implies
操作前
source roles = [ORIGINAL f, [-3, -2, -1, 0], [1, 3, 5, 7, 9], [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [[是, 是, 是, 是], [1, 1, 1, 1], 是]
條件:無
所有row型別與所有input總性合取後才准lookup;空集合的vacuous條件不准遮掉非法row。
步驟識別與依賴
規則:FiniteMap_TOTAL_qualification_BEFORE_lookups_even_empty_domain · 依賴:G001, S012
S014 · implies
操作前
source roles = [ORIGINAL f, 1, [-3, -2, -1, 0], [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [[-3], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S013
S015 · implies
操作前
source roles = [ORIGINAL f, 3, [-3, -2, -1, 0], [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [[-2], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S014
S016 · implies
操作前
source roles = [ORIGINAL f, 5, [-3, -2, -1, 0], [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [[-1], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S015
S017 · implies
操作前
source roles = [ORIGINAL f, 7, [-3, -2, -1, 0], [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [[0], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S016
S018 · implies
操作前
source roles = [ORIGINAL f, 9, [-3, -2, -1, 0], [[-3, 1], [-2, 3], [-1, 5], [0, 7]]]
操作後
derived = [[], 0]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S017
S019 · implies
操作前
source roles = [ORIGINAL f, [-3, -2, -1, 0], [1, 3, 5, 7, 9], [[-3], [-2], [-1], [0], []]]
操作後
derived = [是, 否, 否]
條件:無
單射為每fiber≤1,滿射為每fiber≥1,兩者才雙射;未達到B不妨礙單射。空到空可雙射,空到非空只是單射。
步驟識別與依賴
規則:FiniteMap_injective_surjective_BOTH_needed_for_inverse · 依賴:G001, S018