Rule:Ternarithmetic

From LifeWiki
Jump to navigation Jump to search

@RULE Ternarithmetic

This is another circuitry rule by islptng, designed to make a SUBLEQ machine easily. It uses balanced ternary to simplify circuits.

Unlike other rules which focus on logic, This rule is based on arithmetics.

@NAMES

0 vacuum
1 wire
2 T signal
3 0 signal
4 1 signal
5 T memory cell
6 0 memory cell
7 1 memory cell
8 T inhibited memory
9 0 inhibited memory

10 1 inhibited memory 11 Read signal 12 Write signal

13 Marker - 14 Marker 0 15 Marker +

16 Negate gate 17 Sign gate 18 0 Transformer 19 Rotate gate 20 0 Filter

@TABLE n_states: 21 neighborhood: Moore symmetries: rotate4

var a1 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} var a2 = a1 var a3 = a1 var a4 = a1 var a5 = a1 var a6 = a1 var a7 = a1 var a8 = a1

var s1 = {1,5,6,7,8,9,10,16,17,18,19,20} var s2 = s1 var s3 = s1 var s4 = s1

var p1 = {0,2,3,4,11,12} var p2 = p1 var p3 = p1 var p4 = p1 var p5 = p1 var d1 = {2,3,4} var z1 = {2,3,4,11} var c1 = {2,3,4,11,12}

var j1 = {0,13,14,15} var q1 = {13,14,15}

var m1 = {5,6,7} var t1 = {8,9,10}

  1. To write signal
2,12, 0,p1,s1, 1,s2, 0, 0,12
3,12, 0,p1,s1, 1,s2, 0, 0,12
4,12, 0,p1,s1, 1,s2, 0, 0,12
  1. To read signal
0, 2, 0,11, 0,p1,s1, 1,s2,11
0, 3, 0,11, 0,p1,s1, 1,s2,11
0, 4, 0,11, 0,p1,s1, 1,s2,11
  1. Write
0, 2, 0, 0, 0,p1,a1,m1,s1, 0
0, 3, 0, 0, 0,p1,a1,m1,s1, 0
0, 4, 0, 0, 0,p1,a1,m1,s1, 0

m1,s1, 2, 0, 0,a1,a2,a3,a4, 8 m1,s1, 3, 0, 0,a1,a2,a3,a4, 9 m1,s1, 4, 0, 0,a1,a2,a3,a4,10

8,12,p1,a1,a2,a3,a4,s1, 0, 5
9,12,p1,a1,a2,a3,a4,s1, 0, 6

10,12,p1,a1,a2,a3,a4,s1, 0, 7

0,12, 0, 0,a1,a2,a3, 1,t1, 0
  1. Read
5,s1,11, 0,p1,a1,a2,a3,a4, 8
6,s1,11, 0,p1,a1,a2,a3,a4, 9
7,s1,11, 0,p1,a1,a2,a3,a4,10

z1, 0, 0, 0, 0,p1,a1, 8,s1, 2 z1, 0, 0, 0, 0,p1,a1, 9,s1, 3 z1, 0, 0, 0, 0,p1,a1,10,s1, 4

8,s1, 0,z1,p1,a1,a2,a3,a4, 5
9,s1, 0,z1,p1,a1,a2,a3,a4, 6

10,s1, 0,z1,p1,a1,a2,a3,a4, 7

0,11, 0,20, 0,p1,a1, 1,s1, 0
  1. Switch
0,11, 0,13, 0,p2,a1, 1,s1, 2
0,11, 0,14, 0,p2,a1, 1,s1, 3
0,11, 0,15, 0,p2,a1, 1,s1, 4
0,p1, 0,13, 0,p2,a1, 1,s1, 0
0,p1, 0,15, 0,p2,a1, 1,s1, 0

q1, 0, 1, 1, 2, 0 a1,a2,a3,13 q1, 0, 1, 1, 3, 0 a1,a2,a3,14 q1, 0, 1, 1, 4, 0 a1,a2,a3,15

  1. 1-input Gates
  2. 16 -> NOT / NEG

p1, 2,a1,a2,a3,a4,s1,16,s2, 4 p1, 3,a1,a2,a3,a4,s1,16,s2, 3 p1, 4,a1,a2,a3,a4,s1,16,s2, 2

  1. 18 -> Zeroify

p1, 2,a1,a2,a3,a4,s1,18,s2, 3 p1, 3,a1,a2,a3,a4,s1,18,s2, 3 p1, 4,a1,a2,a3,a4,s1,18,s2, 3

  1. 19 -> Rotate

p1, 2,a1,a2,a3,a4,s1,19,s2, 3 p1, 3,a1,a2,a3,a4,s1,19,s2, 4 p1, 4,a1,a2,a3,a4,s1,19,s2, 2

  1. 20 -> 0 Filter

p1, 2,a1,a2,a3,a4,s1,20,s2, 0 p1, 3,a1,a2,a3,a4,s1,20,s2, 3 p1, 4,a1,a2,a3,a4,s1,20,s2, 0

  1. 17 -> Sign

j1, 2,a1,a2,a3,a4,s1,17,s2,13

0, 3,a1,a2,a3,a4,s1,17,s2,14

j1, 4,a1,a2,a3,a4,s1,17,s2,15 13, 0,a1,a2,a3,a4,s1,17,s2, 2 14, 0,a1,a2,a3,a4,s1,17,s2, 3 15, 0,a1,a2,a3,a4,s1,17,s2, 4

  1. Addition

p1, 2,p2,p3, 1, 2, 0,13, 1, 3 13,p1, 0, 1, 2,p2, 2, 0,p3,13 p1, 2,p2,p3, 1, 2, 0, 0, 1, 4

0,p1, 0, 1, 2,p2, 2, 0,p3,13

p1, 2,p2,p3, 1, 2, 0,15, 1, 2 15,p1, 0, 1, 2,p2, 2, 0,p3, 0 p1, 2,p2,p3, 1, 3, 0,13, 1, 4 13,p1, 0, 1, 2,p2, 3, 0,p3,13 p1, 2,p2,p3, 1, 3, 0, 0, 1, 2

0,p1, 0, 1, 2,p2, 3, 0,p3, 0

p1, 2,p2,p3, 1, 3, 0,15, 1, 3 15,p1, 0, 1, 2,p2, 3, 0,p3, 0 p1, 2,p2,p3, 1, 4, 0,13, 1, 2 13,p1, 0, 1, 2,p2, 4, 0,p3, 0 p1, 2,p2,p3, 1, 4, 0, 0, 1, 3

0,p1, 0, 1, 2,p2, 4, 0,p3, 0

p1, 2,p2,p3, 1, 4, 0,15, 1, 4 15,p1, 0, 1, 2,p2, 4, 0,p3, 0 p1, 3,p2,p3, 1, 2, 0,13, 1, 4 13,p1, 0, 1, 3,p2, 2, 0,p3,13 p1, 3,p2,p3, 1, 2, 0, 0, 1, 2

0,p1, 0, 1, 3,p2, 2, 0,p3, 0

p1, 3,p2,p3, 1, 2, 0,15, 1, 3 15,p1, 0, 1, 3,p2, 2, 0,p3, 0 p1, 3,p2,p3, 1, 3, 0,13, 1, 2 13,p1, 0, 1, 3,p2, 3, 0,p3, 0 p1, 3,p2,p3, 1, 3, 0, 0, 1, 3

0,p1, 0, 1, 3,p2, 3, 0,p3, 0

p1, 3,p2,p3, 1, 3, 0,15, 1, 4 15,p1, 0, 1, 3,p2, 3, 0,p3, 0 p1, 3,p2,p3, 1, 4, 0,13, 1, 3 13,p1, 0, 1, 3,p2, 4, 0,p3, 0 p1, 3,p2,p3, 1, 4, 0, 0, 1, 4

0,p1, 0, 1, 3,p2, 4, 0,p3, 0

p1, 3,p2,p3, 1, 4, 0,15, 1, 2 15,p1, 0, 1, 3,p2, 4, 0,p3,15 p1, 4,p2,p3, 1, 2, 0,13, 1, 2 13,p1, 0, 1, 4,p2, 2, 0,p3, 0 p1, 4,p2,p3, 1, 2, 0, 0, 1, 3

0,p1, 0, 1, 4,p2, 2, 0,p3, 0

p1, 4,p2,p3, 1, 2, 0,15, 1, 4 15,p1, 0, 1, 4,p2, 2, 0,p3, 0 p1, 4,p2,p3, 1, 3, 0,13, 1, 3 13,p1, 0, 1, 4,p2, 3, 0,p3, 0 p1, 4,p2,p3, 1, 3, 0, 0, 1, 4

0,p1, 0, 1, 4,p2, 3, 0,p3, 0

p1, 4,p2,p3, 1, 3, 0,15, 1, 2 15,p1, 0, 1, 4,p2, 3, 0,p3,15 p1, 4,p2,p3, 1, 4, 0,13, 1, 4 13,p1, 0, 1, 4,p2, 4, 0,p3, 0 p1, 4,p2,p3, 1, 4, 0, 0, 1, 2

0,p1, 0, 1, 4,p2, 4, 0,p3,15

p1, 4,p2,p3, 1, 4, 0,15, 1, 3 15,p1, 0, 1, 4,p2, 4, 0,p3,15

p1, 0,p2,p3, 1, 0,p4,j1, 1, 0 p1,p2,p3,p4, 1, 0,p5,j1, 1,p2 p1, 0,p2,p3, 1,p4,p5,j1, 1,p4

13,a1, 0, 1,p1,p2,p3,a2,a3, 0 15,a1, 0, 1,p1,p2,p3,a2,a3, 0

  1. Crossover
0,p1, 1, 0, 1, 0, 1, 0, 1,p1
0, 1,p1,p2,s1, 1,p3, 0,c1,13

13, 1,p1,p2,s1, 1,p3, 0, 0, 0 p1,p2,13, 1,p3,p4,s1, 1, 0,p2 p1,p2, 1,13, 1,p3, 1, 0, 1,p2 p1,p2,p3, 1,13,p4, 0, 1,s1,p2

0, 1,p1,p2,s1, 1,c1, 0,p3,15

15, 1,p1,p2,s1, 1, 0, 0,p3, 0 p1,p2, 1, 0, 1,p3, 1,15, 1,p2

  1. Merge

p1,p2,p3,p4,s1,s2,s3, 0,s4,p2

  1. Default Propagation

p1,p2,a1,p3,a2,a3,a4,s1,s2,p2 p1,p2,p3,a1,p4,a3,a4,s1,s2,p2 p1,p2,a1,p3,a2,a3,s1,a4,s2,p2 p1,p2,p3,a1,p4,a3,s1,a4,s2,p2 p1,p2,a1,p3,a2,a3,s1,s2,a4,p2 p1,p2,p3,a1,p4,a3,s1,s2,a4,p2



@COLORS 1 255 0 0 2 255 255 255 3 255 255 255 4 255 255 255 5 255 0 255 6 255 0 255 7 255 0 255 8 128 0 128 9 128 0 128 10 128 0 128 11 0 255 0 12 0 255 0 13 255 128 128 14 255 128 128 15 255 128 128 16 255 128 0 17 255 128 0 18 255 128 0 19 255 128 0 20 255 128 0

@ICONS XPM "7 140 2 1" ". c #000000" "m c #FFFFFF"

"mmmmmmm" "mmmmmmm" "mmmmmmm" "mmmmmmm" "mmmmmmm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "mmmmmmm" "m.....m" "mmmmmmm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "mm...mm" "mm.m.mm" "mm...mm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "mmmmmmm" "m.....m" "mmmmmmm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "mm...mm" "mm.m.mm" "mm...mm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "mmmmmmm" "m.....m" "mmmmmmm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "mm...mm" "mm.m.mm" "mm...mm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmmmmmm"

"mmmmmmm" "mm..mmm" "mmmm.mm" "mmm.mmm" "mmmmmmm" "mmm.mmm" "mmmmmmm"

"mmmmmmm" "m.mmmmm" "mm.mmmm" "mmm.mmm" "mmmm.mm" "mmmmm.m" "mmmmmmm"


"mmmmmmm" "mmmmmmm" "mmmmmmm" "m.....m" "mmmmmmm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "mm...mm" "mm.m.mm" "mm...mm" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmm.mmm" "mmmmmmm"

"mmmmmmm" "mmmmmmm" "m.....m" "mmmmm.m" "mmmmm.m" "mmmmmmm" "mmmmmmm"

"mmmmmmm" "mmm.mmm" "mm...mm" "mmm.mmm" "mmmmmmm" "mm...mm" "mmmmmmm"

"mmmmmmm" "m.mmmmm" "mm...mm" "mm.m.mm" "mm...mm" "mmmmm.m" "mmmmmmm"

"mmmmmmm" "mm...mm" "m.mmm.m" "m.mmm.m" "m.mm..m" "mm.mm.m" "mmmmmmm"

"mmmmmmm" "mm.m.mm" "m.....m" "mm.m.mm" "m.....m" "mm.m.mm" "mmmmmmm"