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