Two alphabets One substitution Slashes programs Halting problem
Submit
Language is selected by the extension of the file. See the list of supported languages to know the extension of your language.
Problem
This description is written as markdown.
For several ///[1] (slashes) programs, decide whether it halts or not.
Each program shall
- have only a line, and
- be in the format of `^/[ab]*/[ab]*/[ab]*$` in POSIX BRE[2].
# What is ///[1]
- An esolang.
- Output only.
- Has two functions: quine and self-modification.
- Proven to be Turing-complete.
# Input specification
- Each program is separated with a LF.
- Has a trailing LF.
- Always follow the following syntax.
- Every line shall have 50 or less characters excluding the trailing LF.
## Input syntax
```
input = line | input line
line = program <0x0a>
program = <0x2f> ab_s <0x2f> ab_s <0x2f> ab_s
ab_s = *EMPTY* | ab_s ab
ab = <0x61> | <0x62>
```
# Output specification
- Separate each with LFs.
- Has a trailing LF.
- Each line shall be either 'Yes' or 'No'.
- For \$n\$th line of the input,\$n\$th line of the output must be
- 'Yes' if the program halts, or
- 'No' otherwise.
## Output syntax
```
output = line | output line
line = yes <0x0a> | no <0x0a>
yes = <0x59> <0x65> <0x73>
no = <0x4e> <0x6f>
```
# How to emulate the program
1. Let a given program be `/`\$p\$`/`\$q\$`/`\$r\$.
2. If \$p\$ is a substring of \$r\$(note 1), go to step 6.
3. Otherwise eliminate `/`\$p\$`/`\$\q$`/` from your program.
4. Output \$r\$ and eliminate the string from your program.
5. Now the program is empty, the program terminates.
6. Replace the leftmost \$p\$ of the string \$r\$ with \$q\$.
7. Let the result of step 6 be the new \$r\$.
8. Go to step 2.
(note 1) An empty string is always a substring of any strings.
# References
[1] https://esolangs.org/wiki////
[2] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03
# Poster of this problem
tail spark rabbit ear
Options
exec is denied
rejudge feature is enabled
now post-mortem time, all source codes will be revealed
Sample input:_
/ab/ba/bba
/bab/aab/babab
///
/bb//bbbbbbbbbbb
/ab/ba/ab
/ab/bba/ab
/ab/bba/abb
/babaaaab/a/aababb
/ab/baa/abbbaaaaa
/bbb/aaaabbaa/
//babaa/b
/a/bb/bbbbbbb
/babbb/b/abbaa
/bba/bbaabbabb/abbabbaa
/ba/ba/abaaab
/a/bbbaa/a
/b/baabbb/bbbabba
/bbbbaaa/aabaababa/aababbbb
/bbbaab/bb/bbabbaaba
//a/babbaba
/bbbbbaabb/baaaaa/aa
/ababa/abbba/bbaababbb
/babbb/bbbab/abb
/babbaa/abbbbbb/
/ba/bbb/bbaaa
/aaaab/bbbb/aababb
/ababbb/babababba/b
/bab/bb/baabbaaa
/aabbba/abbaaab/aaabbabbb
/baabbba//baabbaabb
/bbabbb/bbbbba/abbaaaaab
/baabbaaa/abaabab/abbbaa
/abbabbbb/ba/ba
/aaababbb//aaab
//abaabb/aababaaa
/bbaab/bab/
/baabba/abbbaaaab/ba
/bbbbba/a/aaaaaaa
//aba/aabbaa
/bba/bbbabab/babbab
/ba/b/bbbb
/bbaabab/baabababa/
//baaab/baaaab
/aab/bbbbba/bab
/ababbbbaa/bbabaa/babba
/bbb/babaaabab/
/b/abbab/baaa
//abbaab/aaaaaaa
/aababa/ab/aaa
/aa/ababbb/bbba
/ba//baabaaa
//abaaaba/abbb
/abaa/b/ab
/bbb/bab/abbaab
//aabbaaba/b
/baabbabbb/a/aab
/bbabaab//babb
/babbabbaa/bbaa/abbbaaabbbbaaa
/bb/baa/aaabaab
/bbabaababa/bb/abbb
/a/bbaaabbbb/abaaaab
/bbbabaabbabaa/babba/
/babbbaab/ababaaaaaa/abba
/bbbab/bbabababbaaba/aababbbab
/baaaab/babaaaabbba/bbabb
/aaa/babbbbbabaaab/baabbbaab
/b/baaaabbbbaab/aababbababba
/bba/bbbbbabbba/baabbaabbbbab
/bb/bbbbbbbbab/bbbbaaaabbbaab
/bbaabbab/aaabbb/
/abbabbbaaa/baaba/b
/abbaab/abbbb/bab
/bbaababaabaab/ba/aaaabbb
/bb/abbabbbaaaaabb/abaabbbbaaaa
/babababbbab/aaaaabbabab/
/ba/abaabb/aaaabba
/baababb/ababaabbbbaaa/abababababbaaa
/baabbaa/abbbba/aaaabbbabaa
/abbaabbbbabaaa/bbbabaaabaabab/baaabbbbb
/abbbbbbbab/bb/bbbabaaabba
/aabab/bbabba/bab
/a/aaababaabbbaaa/abba
/ababaababbbaab/abab/ab
/aabaaababab/aabbbabbaaba/abbbabbb
/bbbbaaaaabbaa//bbb
/bbbabbaa/abbbbabbbbbaaa/ab
/baaabbbaa/aabbabbba/
/bbb/aba/bbaaaaabba
/bbbaba/ab/aaababab
/babb/baaababbaabaa/babbbbbbab
/bbbbbababaaab/bbbaba/abbbab
/bbbb/a/bababababaab
/abbabaaa/bababbabababab/bbba
/abaaa/aaaa/aa
/baabababb/abbb/bababbbaa
/bbbba/bbabaaaa/babbaba
/abbbaababb/bab/babbbaaabb
/bbabaaaabbab/abb/ababbbaabaa
/ababb/aaabbbaa/bbbb
/aaabbaababb/aabaaabbbababa/babaaabaababa
/bbbaa/aaaabaabbbaab/a
/abaaaabb/bbabaaabba/babbaaa
/abbb/bbabbabaaa/abba
/aabbaababbb/bbbaa/abbaaaa
/bbaabab/bbababbb/babababaaaaba
/aaa//babbabbba
/bbaaaab/bab/ababa
Sample output:
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
No
No
No
No
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
No
No
Yes
Yes
No
Yes
Yes
Yes
No
No
Yes
Yes
Yes
No
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
No
No
Yes
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Sample input:_
/babbb/ab/baaabbaabbb
/aabaaaa/aabbaaababbbb/bb
/bbba/aaabba/bababbbaa
/abba/abbbbbaab/baababbbbaaab
/babbaaaabaabb/abbbbaa/babbaba
/aabbbbbabbb//ababaaabaaa
/baaabb/baabaabbbbbaa/bbbbbaaa
/babba//babaaa
/a/b/b
/aabbab/bbaaaaa/aaababa
/baaabbaaab/aabbbbbb/bbbbabbaaab
/aaaabbabbabaa/bbaaaa/bbb
/baabababbaba/bbabaabaaababa/bbabbabbaaaa
/baaaabbab/baaaba/bbbaaaabb
/bbbaabaaabaab/bb/baaaabaaababa
/a/bbbbbba/bbbbab
/baabbbba/aaabaaabbb/ba
/abbaaabab//aabb
/abaaababaab/abbb/bbb
/aaab//
/bbbbbaaa/aabababbb/baaaaaaabb
/aaababbabbbaa/a/bab
/baabbbbaab/bbbabaaa/baabba
//bbab/ababbbbba
/bbaaa/ababbbabb/babbabbbabaa
/aaabab/aabb/
/bbab/ababaabaabb/aaaba
/abbabbabb/b/abababa
/bbb/bbabbababba/a
/aabbaba/baaaabbaabaaa/
/a/aababaaa/babaaabb
/aaaabb/baabaaabab/bbabaabaaba
/baaabbbbbbbbab/a/babbaabaaabbba
/aaabbaaaababab/abaabbb/bbaa
/babbabbaa/babaaabaa/ababbbabbbaba
/aabbbbba/baa/aba
/aa/abbabbaaaaaaa/aaabaabaaaaba
/aa/baabbbbb/bbaaabbba
/abababbabaa/abbbaababaaaab/abbaababaabaa
/baaabbaaa/babaaa/abbbaaba
/abbaa/bba/aaa
/abaabaaabbabaa/aaabbbba/abbabbabb
/bbbba/aaaabba/bababbbaaa
/aab/bbbaabaa/baaabbbb
/abbbababaabba/baaabaa/a
/b/ba/abbbaaaababba
//aaaababbbbaa/abaabbaaaabab
/b/aaab/abababaaba
/aabbbbbaaabab/babbbaaabb/aaababbbbbbb
/a/abbbbbaabb/baaaaaaabb
/bbbba/baaa/ab
/abbababaabbbba/baabbbbbaaba/aaabbabaabab
/aaaaabaaab/aaabbabbabbba/bbbbbaaababa
/b/abbbbaabba/
/babababbba/abbbb/aaaaaababbbbb
/bbabbabaa/bababab/ab
/ba/aaaaab/baabab
/babb/abbbaaa/baabbaabbaabaa
/baaabaaaabb/ababa/ababaabaaaba
/abbabbaaabbb/ab/baaabbaaaba
/abaabbbabab/babaab/bbaabbabbbaabb
/babaabbba//abbbababba
/bb/bababbbaabb/aabaaab
//baaba/baaabbabaabaab
/abaaba/abababbbabaa/b
/baaaaaabbaaaa/aa/
//babbbba/bbabbba
/abbbba/bbaaaaabbababa/ba
/abaab/aaabbbabaabbaa/bbbabaaabba
/aaabaaa/abbaabbaaaaaa/aabbbbbbbaabb
/abaaab/aaabaabba/aaaa
/bbbabaaab/aa/aaabbbabbba
/baaabaaaabaaa/bbbbaabba/bbabb
/abaaabbbbaaabb/bab/
/abaaa/babbbbbbbaabb/bababbaaab
/bbbaabbaab//
/babaabaabaabba/bbaabbb/abbbaab
/babbaababab/aaababa/bbbbaa
/ba/aab/aaaaabaaba
/abaaabbaba/bab/bbaaa
/aa/bab/ababbbbabb
/abaa/babbbababbbbba/b
/baabaabababbb/babaaabababbaa/bbbbabbbbabbab
/a/abaabbb/abbbbbbbbbbaab
/baab/ab/aaabaaa
/abaaababbabbab/aabbaba/bbabbbaaaab
/babb/aaabbb/a
/abaaa/b/baba
/abab//aaababaaaabab
/baabbaabbbaaab/aabbbaaabaaa/b
/abbab/aabababa/aaabaaaababaab
/bbbabaabbaa/babaa/bbaabbaabb
/abb/aab/a
/bbbb/bbbbaabab/abbaa
/ababaababab/baaabbbabbaaba/baabaa
/bba/bbaab/aababba
/aabaaaba/bbaaa/bbbba
/b//abbaaaababb
/aaaba/a/bbaaa
/bbbabbbaaabbb/bbbabbbbbbab/babbaaba
Sample output:
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes
Yes
Yes
No
Yes
No
No
No
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Ranking
Rank | User | Size | Time | Date | Statistics |
---|
1 | Sisyphus | 44 | 0.0351 | 2021/08/09 16:46:13 | 0B / 13B / 28B |
2 | rotary-o | 45 | 0.0344 | 2021/08/09 16:13:46 | 0B / 13B / 29B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | Sisyphus | 44 | 0.1163 | 2021/08/09 16:46:21 | 0B / 13B / 28B |
2 | rotary-o | 45 | 0.1151 | 2021/08/09 16:13:34 | 0B / 13B / 29B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 39 | 0.0313 | 2021/08/10 15:52:07 | 0B / 19B / 18B |
2 | Sisyphus | 40 | 0.0307 | 2021/08/09 11:47:43 | 0B / 18B / 20B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 63 | 0.0490 | 2021/08/18 14:18:16 | 0B / 15B / 48B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 106 | 0.0271 | 2021/08/11 09:30:08 | 0B / 58B / 48B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 30 | 0.0320 | 2021/08/09 13:15:04 | 0B / 9B / 18B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 61 | 0.3620 | 2021/08/16 14:25:13 | 0B / 23B / 28B |
2 | McBusLuck | 76 | 0.5464 | 2021/08/16 01:01:57 | 0B / 34B / 36B |
3 | 鳴神裁4.1号 | 99 | 0.0651 | 2021/08/10 21:30:50 | 0B / 46B / 36B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 149 | 0.0439 | 2021/08/17 19:07:34 | 0B / 71B / 63B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 25 | 0.1914 | 2021/08/09 11:59:34 | 8B / 9B / 8B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 788 | 0.0535 | 2021/08/11 13:15:24 | 0B / 523B / 265B |
Language Ranking_
Rank | Lang | User | Size | Score |
1 | gs2 | tails | 25 | 10000 |
2 | sed | tails | 30 | 8333 |
3 | Perl | tails | 39 | 6410 |
4 | Ruby | Sisyphus | 44 | 5681 |
5 | Ruby2 | Sisyphus | 44 | 5681 |
6 | AWK | tail spark rabbit ear | 60 | 4166 |
7 | Bash (builtins) | tails | 61 | 4098 |
8 | J | tails | 63 | 3968 |
9 | Scala | rotary-o | 72 | 3472 |
10 | Python3 | tail spark rabbit ear | 90 | 2777 |
11 | C | tails | 106 | 2358 |
12 | Java | rotary-o | 143 | 1748 |
13 | make | tails | 149 | 1677 |
14 | SNOBOL | 鳴神裁4.1号 | 155 | 1612 |
15 | Lazy-K | tails | 788 | 317 |
return to the top page