เป็นเรื่องปกติ ก่อนอื่นมาทำงานในระบบเลขฐานสองซึ่งจะสรุปกับฐานใด ๆ > 1 ให้M a , bMa,bเป็นภาษาที่สงสัย สำหรับ a = 1, b = 0 เราได้รับ
M 1 , 0 = { 1 , 10 , 11 , 100 , 101 , . . }M1,0={1,10,11,100,101,...}
ซึ่งเป็นสตริงทั้งหมดที่อยู่เหนือ{ 0 , 1 }{0,1}โดยไม่มีศูนย์นำหน้าซึ่งเป็นปกติ (สร้างนิพจน์ทั่วไปสำหรับมัน)
ทีนี้สำหรับaใด ๆaด้วย b นิ่ง 0 เราจะได้จากโดยการคูณตัวเลขด้วย a นั่นคือทำการแปลงในแต่ละสตริงของ0} ที่สามารถเป็นบิตทำโดยลำดับของการเปลี่ยนแปลงและเพิ่มเติมของที่ขึ้นอยู่กับบิตของสตริงคงที่บาร์ การแปลงสองอย่างที่เราต้องการคือ:M , 0 M 1 , 0 ˉ x → ¯ x M , 0 x ˉMa,0M1,0x¯→ax¯¯¯¯¯¯Ma,0xa¯
ˉ x → ¯ 2 x ˉ x → ˉ x 0x¯→2x¯¯¯¯¯ซึ่งคือx¯→x¯0
และ
ˉx→¯2x+xx¯→ 2 x + x¯¯¯¯¯¯¯¯¯¯¯¯¯¯
การต่อ 0 ทางด้านขวาให้ชัดเจนจะคงความเป็นระเบียบ เราจึงต้องพิสูจน์ว่าการผ่าตัดครั้งที่สองนั้นคงความสม่ำเสมอ วิธีที่จะทำคือกับตัวแปลงสัญญาณสถานะ จำกัด ทำงานบนจากขวาไปซ้าย นั่นเป็นขั้นตอนที่ยากที่สุด ฉันขอแนะนำให้ทำด้วยโปรแกรมโค้ดหลอกและหน่วยความจำ จำกัด บางอย่าง (เช่นตัวแปรบิต) แทนที่จะใช้สถานะ ตราบใดที่หน่วยความจำมีขนาดคงที่สำหรับอินพุตทั้งหมดและคุณสแกนจากขวาไปซ้ายอย่างเคร่งครัดมันเป็นการแปลงสถานะแบบ จำกัด และรักษาความสม่ำเสมอˉxx¯
สุดท้ายที่จะได้รับจากเราจำเป็นต้องเพิ่มตัวเลขแต่ละสตริง แต่ที่ทำได้ด้วยตัวแปลงสัญญาณที่คล้ายกันซึ่งขึ้นอยู่กับจำนวนคงที่ขMa,bMa , bMa,0Ma , 0bขTbTข
จะทำเช่นเดียวกันในฐานใด ๆ นอกจากนี้แสดงวิธีการดำเนินการคูณด้วยตัวเลขหลักเดียวในฐานที่ใช้ตัวแปลงสัญญาณที่ขึ้นอยู่กับ d ด้วยเหตุนี้เราสามารถคูณด้วยตัวเลขหลายหลักและยังคงอยู่ในภาษาปกติ หรือเราสามารถกลเม็ดนี้โดยบอกว่าการคูณด้วยเป็นการเติมซ้ำd S d ddSdd
คุณต้องการเพียงคำใบ้ แต่ละขั้นตอนเหล่านั้นขึ้นอยู่กับทฤษฎี / เทคนิคที่ซับซ้อนพอสมควรดังนั้นการพิสูจน์ว่าการพิสูจน์ที่สมบูรณ์นั้นจะเป็นงานพิเศษ