逐步推導
S001 · implies
操作前
source roles = [qf-relation-domain-projection, [A, B, R, operation]]
操作後
derived = [domain_projection, no-invented-domain]
條件:無
按來源分bank:legacy raw SAFE/衍生BigInt無界,BASE Number.isInteger不偷加SAFE/百萬界。underscore operation、domain及寬/嚴keys各依本bank;原JSON完整保存。
步驟識別與依賴
規則:R68_BANK_specific_keys_operations_and_numeric_guards · 依賴:G001
S002 · implies
操作前
source roles = [relation ORIGINAL source A, [-3, -2, -1]]
操作後
derived = [[-3, -2, -1]]
條件:無
本LDL set長0..100、元素raw SAFE且不重複,空集合合法;排序只屬衍生表示,原JSON順序不改。不是BASE無上限的另一set協定。
步驟識別與依賴
規則:LDL_RAW_distinct_SAFE_set_empty_allowed · 依賴:G001, S001
S003 · implies
操作前
source roles = [relation ORIGINAL target B, [1, 2, 3]]
操作後
derived = [[1, 2, 3]]
條件:無
本LDL set長0..100、元素raw SAFE且不重複,空集合合法;排序只屬衍生表示,原JSON順序不改。不是BASE無上限的另一set協定。
步驟識別與依賴
規則:LDL_RAW_distinct_SAFE_set_empty_allowed · 依賴:G001, S002
S004 · implies
操作前
source roles = [0, [-3, 2]]
操作後
derived = [[-3, 2]]
條件:無
先驗全部raw R的每對恰兩個SAFE座標,再去重;重複同一pair合法,但不能利用dedup藏起未驗cell。
步驟識別與依賴
規則:Relation_RAW_EVERY_pair_typed_BEFORE_dedup · 依賴:G001, S003
S005 · implies
操作前
source roles = [1, [-2, 2]]
操作後
derived = [[-2, 2]]
條件:無
先驗全部raw R的每對恰兩個SAFE座標,再去重;重複同一pair合法,但不能利用dedup藏起未驗cell。
步驟識別與依賴
規則:Relation_RAW_EVERY_pair_typed_BEFORE_dedup · 依賴:G001, S004
S006 · implies
操作前
source roles = [[-3, -2, -1], [1, 2, 3], [[-3, 2], [-2, 2]]]
操作後
derived = [是]
條件:無
先驗完整R⊆A×B;關係不必是total function、單值、injective或onto。空R與空carrier在型別符合時合法,原raw重複/順序仍保存。
步驟識別與依賴
規則:Relation_COMPLETE_typed_subset_A_cross_B_NO_function_assumption · 依賴:G001, S005
S007 · implies
操作前
source roles = [[-3, -2, -1], [1, 2, 3], [[-3, 2], [-2, 2]]]
操作後
derived = [[-3, -2], {-3, -2}]條件:無
Dom(R)只收真正出現在pair第一分量的值,每個一次;A可能有未參與的元素,所以不直接答A。R空時domain空。
步驟識別與依賴
規則:Relation_DOMAIN_actual_FIRST_coordinates_not_declared_A · 依賴:G001, S006