Two alphabets One substitution Slashes programs Halting problem

Submit

Your name:
File:
Open code-statistics:

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

Ruby _

RankUserSizeTimeDateStatistics
1Sisyphus440.03512021/08/09 16:46:130B / 13B / 28B
2rotary-o450.03442021/08/09 16:13:460B / 13B / 29B

Ruby2 _

RankUserSizeTimeDateStatistics
1Sisyphus440.11632021/08/09 16:46:210B / 13B / 28B
2rotary-o450.11512021/08/09 16:13:340B / 13B / 29B

Perl _

RankUserSizeTimeDateStatistics
1tails390.03132021/08/10 15:52:070B / 19B / 18B
2Sisyphus400.03072021/08/09 11:47:430B / 18B / 20B

Python3 _

RankUserSizeTimeDateStatistics
1tail spark rabbit ear900.11792021/08/09 17:12:560B / 48B / 39B

SNOBOL _

RankUserSizeTimeDateStatistics
1鳴神裁4.1号1550.03312021/08/19 08:00:560B / 70B / 32B

J _

RankUserSizeTimeDateStatistics
1tails630.04902021/08/18 14:18:160B / 15B / 48B

C _

RankUserSizeTimeDateStatistics
1tails1060.02712021/08/11 09:30:080B / 58B / 48B

Java _

RankUserSizeTimeDateStatistics
1rotary-o1430.18412021/08/09 16:27:150B / 83B / 55B

AWK _

RankUserSizeTimeDateStatistics
1tail spark rabbit ear600.02842021/08/09 16:44:260B / 25B / 33B
2*SORRY I NOTICED TRAILING LF ERASED*1270.02772021/08/09 09:17:510B / 67B / 60B

sed _

RankUserSizeTimeDateStatistics
1tails300.03202021/08/09 13:15:040B / 9B / 18B

Bash (builtins) _

RankUserSizeTimeDateStatistics
1tails610.36202021/08/16 14:25:130B / 23B / 28B
2McBusLuck760.54642021/08/16 01:01:570B / 34B / 36B
3鳴神裁4.1号990.06512021/08/10 21:30:500B / 46B / 36B

make _

RankUserSizeTimeDateStatistics
1tails1490.04392021/08/17 19:07:340B / 71B / 63B

gs2 _

RankUserSizeTimeDateStatistics
1tails250.19142021/08/09 11:59:348B / 9B / 8B

Lazy-K _

RankUserSizeTimeDateStatistics
1tails7880.05352021/08/11 13:15:240B / 523B / 265B

Scala _

RankUserSizeTimeDateStatistics
1rotary-o723.09712021/08/09 16:22:300B / 42B / 29B

Language Ranking_

RankLangUserSizeScore
1gs2tails2510000
2sedtails308333
3Perltails396410
4RubySisyphus445681
5Ruby2Sisyphus445681
6AWKtail spark rabbit ear604166
7Bash (builtins)tails614098
8Jtails633968
9Scalarotary-o723472
10Python3tail spark rabbit ear902777
11Ctails1062358
12Javarotary-o1431748
13maketails1491677
14SNOBOL鳴神裁4.1号1551612
15Lazy-Ktails788317

return to the top page