Advertisement
Average-user

factorial.tm

Dec 29th, 2017
776
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. ;; Turing Machine that calculates the Factorial of a number in unary notation.
  2.  
  3. Initial = II
  4. Blank = .
  5.  
  6. Rules =
  7.  
  8. (IN x x -> IN)
  9. (IN 1 1 -> IN)
  10. (IN . # <- B)
  11.  
  12. (B 1 1 <- B)
  13. (B x x <- B)
  14. (B . . -> Q)
  15.  
  16. (Q 1 . -> A)
  17. (Q x x >< CI)
  18.  
  19. (A 1 1 -> A)
  20. (A x x -> C)
  21.  
  22. (C . . -> C)
  23. (C # # <- FILL)
  24. (C 1 . -> F)
  25.  
  26. (FILL . 1 <- FILL)
  27. (FILL x x <- B)
  28.  
  29. (F 1 1 -> F)
  30. (F # # -> P)
  31.  
  32. (P 1 1 -> P)
  33. (P . 1 <- BF)
  34.  
  35. (BF . . <- BF)
  36. (BF 1 1 <- BF)
  37. (BF # # <- BF)
  38. (BF x x -> C)
  39.  
  40. (CI x . -> Cx)
  41.  
  42. (Cx # # -> Cx)
  43. (Cx 1 1 -> Cx)
  44. (Cx . x <- CB)
  45.  
  46. (CB 1 1 <- CB)
  47. (CB # # <- CB)
  48. (CB x x <- CB)
  49. (CB . . -> Ca)
  50.  
  51. (Ca # . -> C#)
  52. (Ca 1 . -> C1)
  53.  
  54. (C1 # # -> C1)
  55. (C1 x x -> C1)
  56. (C1 1 1 -> C1)
  57. (C1 . 1 <- CB)
  58.  
  59. (C# 1 1 -> C#)
  60. (C# x x -> C#)
  61. (C# . . <- Cm)
  62.  
  63. (Cm 1 . <- Cr)
  64.  
  65. (Cr 1 1 <- Cr)
  66. (Cr x x <- Cr)
  67. (Cr . . -> EI)
  68.  
  69. (EI 1 1 -> EI)
  70. (EI x x -> EN)
  71.  
  72. (EN . . <- Ea)
  73. (EN 1 1 <- EB)
  74.  
  75. (EB x x <- EB)
  76. (EB 1 1 <- EB)
  77. (EB . . -> IN)
  78.  
  79. (Ea x . <- FIa)
  80.  
  81. (II 1 1 -> II)
  82. (II . x <- IB)
  83.  
  84. (IB 1 1 <- IB)
  85. (IB . . -> IC)
  86.  
  87. (IC 1 _ -> I1)
  88.  
  89. (I1 1 1 -> I1)
  90. (I1 x x -> I1)
  91. (I1 . 1 <- IB')
  92.  
  93. (IB' 1 1 <- IB')
  94. (IB' x x <- IB')
  95. (IB' _ _ -> I?)
  96.  
  97. (I? x x <- I_)
  98. (I? 1 _ -> I1)
  99.  
  100. (I_ _ 1 <- I_)
  101. (I_ . . -> IM)
  102.  
  103. (IM 1 1 -> IM)
  104. (IM x x -> IM)
  105. (IM . . <- IM')
  106.  
  107. (IM' 1 . <- IB'')
  108.  
  109. (IB'' 1 1 <- IB'')
  110. (IB'' x x <- IB'')
  111. (IB'' . . -> IN)
  112.  
  113. (FIa 1 1 <- FIa)
  114. (FIa . . -> FI)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement