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