逐步推導
S001 · implies
操作前
source roles = [qf-inverse-function-candidate, inverse_candidate, no-required-domain, []]
操作後
derived = [[BOTH_restorations_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, [-4, -3, -2, -1]]
操作後
derived = [[-4, -3, -2, -1]]
條件:無
raw集合distinct、SAFE且≤100;排序只是衍生工作表,原list及來源雜湊不變。
步驟識別與依賴
規則:FiniteMap_RAW_distinct_SAFE_set_bound100 · 依賴:G001, S001
S003 · implies
操作前
source roles = [ORIGINAL f codomain, [1, 3, 5, 7]]
操作後
derived = [[1, 3, 5, 7]]
條件:無
raw集合distinct、SAFE且≤100;排序只是衍生工作表,原list及來源雜湊不變。
步驟識別與依賴
規則:FiniteMap_RAW_distinct_SAFE_set_bound100 · 依賴:G001, S002
S004 · implies
操作前
source roles = [ORIGINAL f, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [[[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
條件:無
先驗全部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, -4, 7, [-4, -3, -2, -1], [1, 3, 5, 7]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S004
S006 · implies
操作前
source roles = [ORIGINAL f, 1, -3, 1, [-4, -3, -2, -1], [1, 3, 5, 7]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S005
S007 · implies
操作前
source roles = [ORIGINAL f, 2, -2, 3, [-4, -3, -2, -1], [1, 3, 5, 7]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S006
S008 · implies
操作前
source roles = [ORIGINAL f, 3, -1, 5, [-4, -3, -2, -1], [1, 3, 5, 7]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S007
S009 · implies
操作前
source roles = [ORIGINAL f, -4, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S008
S010 · implies
操作前
source roles = [ORIGINAL f, -3, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S009
S011 · implies
操作前
source roles = [ORIGINAL f, -2, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S010
S012 · implies
操作前
source roles = [ORIGINAL f, -1, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S011
S013 · implies
操作前
source roles = [ORIGINAL f, [-4, -3, -2, -1], [1, 3, 5, 7], [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
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, [-4, -3, -2, -1], [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [[-3], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S013
S015 · implies
操作前
source roles = [ORIGINAL f, 3, [-4, -3, -2, -1], [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [[-2], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S014
S016 · implies
操作前
source roles = [ORIGINAL f, 5, [-4, -3, -2, -1], [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [[-1], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S015
S017 · implies
操作前
source roles = [ORIGINAL f, 7, [-4, -3, -2, -1], [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [[-4], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S016
S018 · implies
操作前
source roles = [ORIGINAL f, [-4, -3, -2, -1], [1, 3, 5, 7], [[-3], [-2], [-1], [-4]]]
操作後
derived = [是, 是, 是]
條件:無
單射為每fiber≤1,滿射為每fiber≥1,兩者才雙射;未達到B不妨礙單射。空到空可雙射,空到非空只是單射。
步驟識別與依賴
規則:FiniteMap_injective_surjective_BOTH_needed_for_inverse · 依賴:G001, S017
S019 · implies
操作前
source roles = [CANDIDATE g domain, [1, 3, 5, 7]]
操作後
derived = [[1, 3, 5, 7]]
條件:無
raw集合distinct、SAFE且≤100;排序只是衍生工作表,原list及來源雜湊不變。
步驟識別與依賴
規則:FiniteMap_RAW_distinct_SAFE_set_bound100 · 依賴:G001, S018
S020 · implies
操作前
source roles = [CANDIDATE g codomain, [-4, -3, -2, -1]]
操作後
derived = [[-4, -3, -2, -1]]
條件:無
raw集合distinct、SAFE且≤100;排序只是衍生工作表,原list及來源雜湊不變。
步驟識別與依賴
規則:FiniteMap_RAW_distinct_SAFE_set_bound100 · 依賴:G001, S019
S021 · implies
操作前
source roles = [CANDIDATE g, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [[[1, -3], [3, -2], [5, -1], [7, -4]]]
條件:無
先驗全部raw row長度2、SAFE且raw≤200,再把相同row視為同一有序對;不是把不同output的同input合併。空domain也不略過raw檢查。
步驟識別與依賴
規則:FiniteMap_RAW200_bound_BEFORE_identical_row_ASSET_normalization · 依賴:G001, S020
S022 · implies
操作前
source roles = [CANDIDATE g, 0, 1, -3, [1, 3, 5, 7], [-4, -3, -2, -1]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S021
S023 · implies
操作前
source roles = [CANDIDATE g, 1, 3, -2, [1, 3, 5, 7], [-4, -3, -2, -1]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S022
S024 · implies
操作前
source roles = [CANDIDATE g, 2, 5, -1, [1, 3, 5, 7], [-4, -3, -2, -1]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S023
S025 · implies
操作前
source roles = [CANDIDATE g, 3, 7, -4, [1, 3, 5, 7], [-4, -3, -2, -1]]
操作後
derived = [是, 是, 是]
條件:無
每row輸入在domain、輸出在codomain;orphan或unused row也要完整驗。
步驟識別與依賴
規則:FiniteMap_EACH_normalized_row_declared_domain_codomain_types · 依賴:G001, S024
S026 · implies
操作前
source roles = [CANDIDATE g, 1, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S025
S027 · implies
操作前
source roles = [CANDIDATE g, 3, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S026
S028 · implies
操作前
source roles = [CANDIDATE g, 5, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S027
S029 · implies
操作前
source roles = [CANDIDATE g, 7, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [1, 是]
條件:無
每個declared input恰一個row才是total,不用第一個lookup掩蓋缺漏或多output。
步驟識別與依賴
規則:FiniteMap_EACH_declared_input_exactly_one_output_row · 依賴:G001, S028
S030 · implies
操作前
source roles = [CANDIDATE g, [1, 3, 5, 7], [-4, -3, -2, -1], [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [[是, 是, 是, 是], [1, 1, 1, 1], 是]
條件:無
所有row型別與所有input總性合取後才准lookup;空集合的vacuous條件不准遮掉非法row。
步驟識別與依賴
規則:FiniteMap_TOTAL_qualification_BEFORE_lookups_even_empty_domain · 依賴:G001, S029
S031 · implies
操作前
source roles = [CANDIDATE g, -4, [1, 3, 5, 7], [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [[7], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S030
S032 · implies
操作前
source roles = [CANDIDATE g, -3, [1, 3, 5, 7], [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [[1], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S031
S033 · implies
操作前
source roles = [CANDIDATE g, -2, [1, 3, 5, 7], [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [[3], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S032
S034 · implies
操作前
source roles = [CANDIDATE g, -1, [1, 3, 5, 7], [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [[5], 1]
條件:無
對每個codomain標記列完整preimage,包含空fiber,不把未達到的B刪掉。
步驟識別與依賴
規則:FiniteMap_EVERY_codomain_fiber_including_unattained · 依賴:G001, S033
S035 · implies
操作前
source roles = [CANDIDATE g, [1, 3, 5, 7], [-4, -3, -2, -1], [[7], [1], [3], [5]]]
操作後
derived = [是, 是, 是]
條件:無
單射為每fiber≤1,滿射為每fiber≥1,兩者才雙射;未達到B不妨礙單射。空到空可雙射,空到非空只是單射。
步驟識別與依賴
規則:FiniteMap_injective_surjective_BOTH_needed_for_inverse · 依賴:G001, S034
S036 · implies
操作前
source roles = [-4, 7, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [-4, 是]
條件:無
先按f到B,再按已typed total的g回A,對每原input驗恢復,不省略失敗輸入。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_g_after_f_restores_ORIGINAL_A · 依賴:G001, S035
S037 · implies
操作前
source roles = [-3, 1, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [-3, 是]
條件:無
先按f到B,再按已typed total的g回A,對每原input驗恢復,不省略失敗輸入。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_g_after_f_restores_ORIGINAL_A · 依賴:G001, S036
S038 · implies
操作前
source roles = [-2, 3, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [-2, 是]
條件:無
先按f到B,再按已typed total的g回A,對每原input驗恢復,不省略失敗輸入。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_g_after_f_restores_ORIGINAL_A · 依賴:G001, S037
S039 · implies
操作前
source roles = [-1, 5, [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [-1, 是]
條件:無
先按f到B,再按已typed total的g回A,對每原input驗恢復,不省略失敗輸入。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_g_after_f_restores_ORIGINAL_A · 依賴:G001, S038
S040 · implies
操作前
source roles = [1, -3, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [1, 是]
條件:無
另一方向從每個原B標記先g後f,同樣逐項回到自己,和第一方向分開保留。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_f_after_g_restores_ORIGINAL_B · 依賴:G001, S039
S041 · implies
操作前
source roles = [3, -2, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [3, 是]
條件:無
另一方向從每個原B標記先g後f,同樣逐項回到自己,和第一方向分開保留。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_f_after_g_restores_ORIGINAL_B · 依賴:G001, S040
S042 · implies
操作前
source roles = [5, -1, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [5, 是]
條件:無
另一方向從每個原B標記先g後f,同樣逐項回到自己,和第一方向分開保留。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_f_after_g_restores_ORIGINAL_B · 依賴:G001, S041
S043 · implies
操作前
source roles = [7, -4, [[-4, 7], [-3, 1], [-2, 3], [-1, 5]]]
操作後
derived = [7, 是]
條件:無
另一方向從每個原B標記先g後f,同樣逐項回到自己,和第一方向分開保留。
步驟識別與依賴
規則:Inverse_CANDIDATE_EACH_f_after_g_restores_ORIGINAL_B · 依賴:G001, S042
S044 · implies
操作前
source roles = [[-4, -3, -2, -1], [1, 3, 5, 7], [[-4, 7], [-3, 1], [-2, 3], [-1, 5]], [[1, -3], [3, -2], [5, -1], [7, -4]]]
操作後
derived = [[是, 是, 是, 是], [是, 是, 是, 是], 是]
條件:無
原f雙射且候選g全typed total後,完整兩方向都通過才Yes。合格但錯反函數是合法No;缺row/超域則是資格不合,不是假裝No。
步驟識別與依賴
規則:Inverse_CANDIDATE_BOTH_typed_total_restoration_inventories · 依賴:G001, S043