Right now, "Word Automata" like T, F, TR, etc. are second-class objects in Walnut, in the sense that although you can use them in Walnut expressions, you can't return them as results (except in special cases, like in the "combine" command). This means that you have to do extra work if, for example, you want to define a new Word Automaton, say something that has the effect of defining a Word Automaton G such that G[n] := F[2*n+5].
There should be some way to create a Word Automaton directly by operations on other Word Automata, and maybe even ordinary automata, with the convention that an ordinary automaton is treated like a Word Automaton with outputs 1 ("true") and 0 ("false"). I don't see any reason, for example, that you shouldn't be able to define a new Word Automaton X by saying something like X[n] := T[2n+3]+RS[3n+4]. Or even something like X[n] = T[n] if n even and RS[n] if n odd.
Of course part of the issue here is figuring out exactly what would be allowed and what the right syntax should be...
Right now, "Word Automata" like T, F, TR, etc. are second-class objects in Walnut, in the sense that although you can use them in Walnut expressions, you can't return them as results (except in special cases, like in the "combine" command). This means that you have to do extra work if, for example, you want to define a new Word Automaton, say something that has the effect of defining a Word Automaton G such that G[n] := F[2*n+5].
There should be some way to create a Word Automaton directly by operations on other Word Automata, and maybe even ordinary automata, with the convention that an ordinary automaton is treated like a Word Automaton with outputs 1 ("true") and 0 ("false"). I don't see any reason, for example, that you shouldn't be able to define a new Word Automaton X by saying something like X[n] := T[2n+3]+RS[3n+4]. Or even something like X[n] = T[n] if n even and RS[n] if n odd.
Of course part of the issue here is figuring out exactly what would be allowed and what the right syntax should be...