We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Котята-арбузята/Turing-completeness proof

From Esolang
Jump to navigation Jump to search

котята-арбузята can be reduced to CT.

Example

This CT program will be transpiled into a котята-арбузята program:

01;

Contents of ct.ктя:

} 2 [
  } 0 [
    ( 0
    ! 255
  ]
  } 1 [
    ( 1
    ! 0
    ! 255
  ]
]

} 3 [
  } 0 [
    ( 0
    ! 255
  ]
  } 1 [
    ( 1
    ! 0
    ! 255
  ]
]

} 4 [
  } 0 [
    ( 0
  ]
  } 1 [
    ( 1
  ]
]

} 5 [
  ' 0
]

} 0 [
  ( 0
]

} 1 [
  ( 1
]

} 255 [
  ' 1
  .
]

! 1 ! 255 ' 0

Contents of ct.абя:

< 1 [
  ,
]

< 0 [
  ^ 4 ^ % : * ^ 2 ^ %
  ^ 4 ^ % : * ^ 3 ^ %
  ^ 4 ^ % : #
  
  ^ 5
]

(NOTE: constantly outputs garbage, works fine otherwise)
In this example, all that matters is the contents of event handler for signal code 0 in ct.абя, which manipulates the data string, and the last line of ct.ктя, which pushes the initial data string.

  • ^ 4 ^ % : * ^ 2 ^ % is equivalent to 0
  • ^ 4 ^ % : * ^ 3 ^ % is equivalent to 1
  • ^ 4 ^ % : # is equivalent to ;

The ^ 5 is used to send signal 0 to itself to create a loop.