逐步推導
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, 48)
操作後
GCD Euclid row0 ORIGINAL quotient times y = 48
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S001
S003 · calculation
操作前
GCD Euclid row0 ORIGINAL x minus qy := sub(52, 48)
操作後
GCD Euclid row0 ORIGINAL x minus qy = 4
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S002
S004 · implies
操作前
source roles = [52, 48, 1]
操作後
derived = [48, 4, [52, 48, 4]]
條件:無
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(12, 4)
操作後
GCD Euclid row1 ORIGINAL quotient times y = 48
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S004
S006 · calculation
操作前
GCD Euclid row1 ORIGINAL x minus qy := sub(48, 48)
操作後
GCD Euclid row1 ORIGINAL x minus qy = 0
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S005
S007 · implies
操作前
source roles = [48, 4, 12]
操作後
derived = [48, 0, [48, 4, 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 = [52, 48, [[52, 48, 4], [48, 4, 0]]]
操作後
derived = [4, 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(52, 1)
操作後
GCD candidate divides a ORIGINAL exact multiplier = 52
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S008
S010 · implies
操作前
source roles = [GCD candidate divides a, 1, 52]
操作後
derived = [是, 52]
條件:無
自然數整除採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(48, 1)
操作後
GCD candidate divides b ORIGINAL exact multiplier = 48
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S010
S012 · implies
操作前
source roles = [GCD candidate divides b, 1, 48]
操作後
derived = [是, 48]
條件:無
自然數整除採d=0時只准x=0,0∣0選乘數0但不稱唯一;d非0且餘數0才列精確乘數。兩個整除旗標不自動證明最大性。
步驟識別與依賴
規則:GCD_DIVISIBILITY_ZERO_guard_before_natural_multiplier · 依賴:G001, S011
S013 · implies
操作前
source roles = [52, 48, 1, 4]
操作後
derived = [是, 是, 否, 4, 否]
條件:無
先獨立由原a,b算gcd,再比較候選d。共同因數可不是最大;答案同時保留d∣a、d∣b、d=gcd及合取旗標。
步驟識別與依賴
規則:GCD_AUDIT_actual_gcd_INDEPENDENT_of_candidate_common_AND_greatest · 依賴:G001, S012