逐步推導
S001 · implies
操作前
source roles = [qf-ext18-gcd-common-divisor-audit, Nat_gcd, gcd-common-divisor-audit, no-form-field]
操作後
derived = [[a, b, d, divides_a, divides_b, equals_gcd, gcd, common_AND_gcd]]
條件:無
按原bank核欄位:BASE方程用form及論域,BASE事件/補集無operation,階乘無domain;ext18用local-hyphen,其他legacy用underscore。輸出型別不統一成tuple或fraction。
步驟識別與依賴
規則:R62_EXACT_source_keys_domain_operation_form_AND_output_types · 依賴:G001
S002 · calculation
操作前
GCD Euclid row0 ORIGINAL quotient times y := mul(1, 24)
操作後
GCD Euclid row0 ORIGINAL quotient times y = 24
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S001
S003 · calculation
操作前
GCD Euclid row0 ORIGINAL x minus qy := sub(36, 24)
操作後
GCD Euclid row0 ORIGINAL x minus qy = 12
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S002
S004 · implies
操作前
source roles = [36, 24, 1]
操作後
derived = [24, 12, [36, 24, 12]]
條件:無
y非0才求商餘,x=qy+r且0≤r<y。d同除x,y則同除y,r,反向由x=qy+r也成立,所以共同因數集合不變;正餘數嚴格下降,循環會終止。
步驟識別與依賴
規則:GCD_EUCLID_nonzero_divisor_exact_quotient_remainder_INVARIANT · 依賴:G001, S003
S005 · calculation
操作前
GCD Euclid row1 ORIGINAL quotient times y := mul(2, 12)
操作後
GCD Euclid row1 ORIGINAL quotient times y = 24
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S004
S006 · calculation
操作前
GCD Euclid row1 ORIGINAL x minus qy := sub(24, 24)
操作後
GCD Euclid row1 ORIGINAL x minus qy = 0
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S005
S007 · implies
操作前
source roles = [24, 12, 2]
操作後
derived = [24, 0, [24, 12, 0]]
條件:無
y非0才求商餘,x=qy+r且0≤r<y。d同除x,y則同除y,r,反向由x=qy+r也成立,所以共同因數集合不變;正餘數嚴格下降,循環會終止。
步驟識別與依賴
規則:GCD_EUCLID_nonzero_divisor_exact_quotient_remainder_INVARIANT · 依賴:G001, S006
S008 · implies
操作前
source roles = [36, 24, [[36, 24, 12], [24, 12, 0]]]
操作後
derived = [12, 0]
條件:無
到第二值0時保留最後x:非零時gcd(x,0)=x,連同上面雙向共同因數不變式得到原gcd。原(0,0)採明示gcd=0慣例,不宣稱0是最大的正因數。
步驟識別與依賴
規則:GCD_TERMINAL_last_x_ZEROsecond_and_explicit_gcd00_convention · 依賴:G001, S007
S009 · calculation
操作前
GCD candidate divides a ORIGINAL exact multiplier := div(36, 12)
操作後
GCD candidate divides a ORIGINAL exact multiplier = 3
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S008
S010 · implies
操作前
source roles = [GCD candidate divides a, 12, 36]
操作後
derived = [是, 3]
條件:無
自然數整除採d=0時只准x=0,0∣0選乘數0但不稱唯一;d非0且餘數0才列精確乘數。兩個整除旗標不自動證明最大性。
步驟識別與依賴
規則:GCD_DIVISIBILITY_ZERO_guard_before_natural_multiplier · 依賴:G001, S009
S011 · calculation
操作前
GCD candidate divides b ORIGINAL exact multiplier := div(24, 12)
操作後
GCD candidate divides b ORIGINAL exact multiplier = 2
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S010
S012 · implies
操作前
source roles = [GCD candidate divides b, 12, 24]
操作後
derived = [是, 2]
條件:無
自然數整除採d=0時只准x=0,0∣0選乘數0但不稱唯一;d非0且餘數0才列精確乘數。兩個整除旗標不自動證明最大性。
步驟識別與依賴
規則:GCD_DIVISIBILITY_ZERO_guard_before_natural_multiplier · 依賴:G001, S011
S013 · implies
操作前
source roles = [36, 24, 12, 12]
操作後
derived = [是, 是, 是, 12, 是]
條件:無
先獨立由原a,b算gcd,再比較候選d。共同因數可不是最大;答案同時保留d∣a、d∣b、d=gcd及合取旗標。
步驟識別與依賴
規則:GCD_AUDIT_actual_gcd_INDEPENDENT_of_candidate_common_AND_greatest · 依賴:G001, S012