Glad you like it! BTW I just updated it so it has three functions now:

Zero checker

Addition

Size checker (new)

Some people have expressed interest in running Tic Tac Toe in bitvm so we can falsify cheaters directly on bitcoin. How awesome!

I am also thinking about adding in other math functions besides addition, like subtraction, multiplication, and division -- I might even be able to make a full "calculator app" that combines all those functions, runs in bitvm, and lets you falsify wrong equations on bitcoin. Could be useful for learning how to combine functions together, which will probably become more important as more functions are written for bitvm.

You can write any program with a real turing complete computer, then convert the program to a tapleaf circuit for use in bitvm, and -- if your program has a valid "solution" and doesn't halt -- the bitvm can execute it.

It may not be turing complete itself, but who cares when it can execute any valid program that a turing machine can produce?

I'm just learning circuit based programming for the first time so I won't be able to do it quickly

but in theory yeah, for sure, because you can run any computable function, and palindrome checkers already exist as computable functions, so we can just port one (once we have tools for stuff like that)

Consider it a challenge. There may be no constraints on the string such as "must be odd length" or "must be even length" or "must have a middle marker".

but in theory yeah

In theory of computation, Turing Machines describe recursively enumerable languages. Anything less is... not.

there will need to be one constraint: a length constraint

if there was no length constraint then you could make the program process a string many googols in length until it exceeds the 2^127 logic gates our virtual machine must fit in

A length checker seems fair because the palindrome checking functions here also have length constraints

BTW the BitVM is not turing complete, it is "functionally complete." That is, it is capable of executing any computable function. A turing machine can get stuck executing an uncomputable function, such as "find the last digit of pi," and forever loop a subprocess that never gets to halt. The BitVM cannot get stuck executing an uncomputable function so it is not a turing machine.

But like I said earlier, I don't think that matters because it can execute any program created by a turing machine -- as long as that program doesn't require more than 2^127 boolean logic operations.

new)realturing complete computer, then convert the program to a tapleaf circuit for use in bitvm, and -- if your program has a valid "solution" and doesn't halt -- the bitvm can execute it.canproduce?computablefunction. A turing machine can get stuck executing an uncomputable function, such as "find the last digit of pi," and forever loop a subprocess that never gets to halt. The BitVM cannot get stuck executing an uncomputable function so it is not a turing machine.created bya turing machine -- as long as that program doesn't require more than 2^127 boolean logic operations.