逐步推導
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(0, 168)
操作後
GCD Euclid row0 ORIGINAL quotient times y = 0
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S001
S003 · calculation
操作前
GCD Euclid row0 ORIGINAL x minus qy := sub(132, 0)
操作後
GCD Euclid row0 ORIGINAL x minus qy = 132
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S002
S004 · implies
操作前
source roles = [132, 168, 0]
操作後
derived = [0, 132, [132, 168, 132]]
條件:無
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(1, 132)
操作後
GCD Euclid row1 ORIGINAL quotient times y = 132
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S004
S006 · calculation
操作前
GCD Euclid row1 ORIGINAL x minus qy := sub(168, 132)
操作後
GCD Euclid row1 ORIGINAL x minus qy = 36
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S005
S007 · implies
操作前
source roles = [168, 132, 1]
操作後
derived = [132, 36, [168, 132, 36]]
條件:無
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 · calculation
操作前
GCD Euclid row2 ORIGINAL quotient times y := mul(3, 36)
操作後
GCD Euclid row2 ORIGINAL quotient times y = 108
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S007
S009 · calculation
操作前
GCD Euclid row2 ORIGINAL x minus qy := sub(132, 108)
操作後
GCD Euclid row2 ORIGINAL x minus qy = 24
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S008
S010 · implies
操作前
source roles = [132, 36, 3]
操作後
derived = [108, 24, [132, 36, 24]]
條件:無
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, S009
S011 · calculation
操作前
GCD Euclid row3 ORIGINAL quotient times y := mul(1, 24)
操作後
GCD Euclid row3 ORIGINAL quotient times y = 24
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S010
S012 · calculation
操作前
GCD Euclid row3 ORIGINAL x minus qy := sub(36, 24)
操作後
GCD Euclid row3 ORIGINAL x minus qy = 12
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S011
S013 · 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, S012
S014 · calculation
操作前
GCD Euclid row4 ORIGINAL quotient times y := mul(2, 12)
操作後
GCD Euclid row4 ORIGINAL quotient times y = 24
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S013
S015 · calculation
操作前
GCD Euclid row4 ORIGINAL x minus qy := sub(24, 24)
操作後
GCD Euclid row4 ORIGINAL x minus qy = 0
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S014
S016 · 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, S015
S017 · implies
操作前
source roles = [132, 168, [[132, 168, 132], [168, 132, 36], [132, 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, S016
S018 · calculation
操作前
GCD candidate divides a ORIGINAL exact multiplier := div(132, 12)
操作後
GCD candidate divides a ORIGINAL exact multiplier = 11
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S017
S019 · implies
操作前
source roles = [GCD candidate divides a, 12, 132]
操作後
derived = [是, 11]
條件:無
自然數整除採d=0時只准x=0,0∣0選乘數0但不稱唯一;d非0且餘數0才列精確乘數。兩個整除旗標不自動證明最大性。
步驟識別與依賴
規則:GCD_DIVISIBILITY_ZERO_guard_before_natural_multiplier · 依賴:G001, S018
S020 · calculation
操作前
GCD candidate divides b ORIGINAL exact multiplier := div(168, 12)
操作後
GCD candidate divides b ORIGINAL exact multiplier = 14
條件:無
使用原操作數與明示次序作精確整數/有理計算,不用浮點近似。輸入界依題族:不把衍生值重驗成raw輸入,也不給BASE題庫另加SAFE或n64界。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S019
S021 · implies
操作前
source roles = [GCD candidate divides b, 12, 168]
操作後
derived = [是, 14]
條件:無
自然數整除採d=0時只准x=0,0∣0選乘數0但不稱唯一;d非0且餘數0才列精確乘數。兩個整除旗標不自動證明最大性。
步驟識別與依賴
規則:GCD_DIVISIBILITY_ZERO_guard_before_natural_multiplier · 依賴:G001, S020
S022 · implies
操作前
source roles = [132, 168, 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, S021