Talk:Ascenic

From Esolang
Jump to navigation Jump to search

Why is this esolang with only one stack TC? --None1 (talk) 10:16, 6 February 2024 (UTC)

The integers are unbounded and there's multiplication, not sure if it would be TC without multiplication but with multiplication I'm pretty sure it is. --PkmnQ (talk) 10:24, 6 February 2024 (UTC)

Why this is TC with multiplication? (I'm not good at computational theory) --None1 (talk) 10:41, 6 February 2024 (UTC)

Blindfolded Arithmetic is Turing-complete even with only two variables; many esolangs with an unbounded-integer stack can implement that fairly easily, which is often an easy way to prove them TC. However, this one can't easily implement Blindfolded Arithmetic because it has no easy way to do the operation "do arithmetic on x and y whilst still remembering the value of x" – the stack manipulation primitives are less powerful than in many similar languages (in particular, it doesn't have a way to get at the third element of the stack, nor a primitive for copying the top stack element). I suspect that it's TC anyway, via compiling from Tip (which is a very simple TC-proving language, and which relies primarily on multiplication which is easy to implement in Ascenic) – that has the benefit that you only need to remember one variable at a time rather than two, so it's probably possible to construct some sort of loop to copy the top of the stack by comparing it to all the integers from 0 upwards, and then compare that against all the possible moduli to branch based on its value. The restriction that the arguments have to be in ascending order is annoying but should be fairly easy to work around, e.g. via doing a multiplication-by-constant using two multiplications-by-constant and a division-by-constant, or via using sequences like PUSH, PUSH, SWAP, TL (which always pushes 1). --ais523 05:09, 7 February 2024 (UTC)

It seems that you are able to prove this esolang TC, if you can, put it in the page. --None1 (talk) 13:34, 11 February 2024 (UTC)