%%file ../Custom Bases/msd_mor.txt
{0, 1, 2, 3}
0 1
0 -> 0
1 -> 1
2 -> 1
3 -> 2
1 1
2 1
0 -> 3
1 -> 1
3 -> 2
3 1
0 -> 0
1 -> 1 2 -> 1
Created file '/home/jovyan/Custom Bases/msd_mor.txt'.
This is a companion notebook to the paper. It contains all the Walnut code used to produce the results in the paper. It is provided both in HTML format with copyable Walnut code and as Jupyter Notebook to be used in conjonction with JupyWalnut.
We investigate the infinite morphic word \({\bf q}\) defined as follows.
Let \(h\) be the morphism defined by \(h(a) = ab\), \(h(b) = cb\), \(h(c) = a\). This morphism has an infinite fixed point \[{\bf p} = abcbacbabacbabcbabacb \cdots\] Next, define another morphism as follows: \(g(a) = 011\), \(g(b) = 0\), and \(g(c) = 01\). The Rote word we are interested in is \({\bf q} := g({\bf p})\). \[{\bf q} = 0110010011010011001101001100100110011010 \cdots\]
Using the licofage tool, we derive a numeration system for \({\bf q}\). To avoid too many dependencies, we directly provide below the numeration system files for inclusion in Walnut. As the addition file is particularily long, you have to click below to display it.
%%file ../Custom Bases/msd_mor.txt
{0, 1, 2, 3}
0 1
0 -> 0
1 -> 1
2 -> 1
3 -> 2
1 1
2 1
0 -> 3
1 -> 1
3 -> 2
3 1
0 -> 0
1 -> 1 2 -> 1
Created file '/home/jovyan/Custom Bases/msd_mor.txt'.
%%file ../Custom Bases/msd_mor_addition.txt
{0, 1, 2, 3} {0, 1, 2, 3} {0, 1, 2, 3}
0 1
0 0 3 -> 36
3 0 3 -> 128
0 3 3 -> 131
0 0 0 -> 0
1 2 3 -> 105
2 1 3 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
2 0 2 -> 105
1 1 2 -> 105
1 0
3 3 0 -> 135
2 1
3 3 1 -> 105
3 0 0 -> 5
3 3 0 -> 76
0 3 0 -> 42
3 1 0 -> 105
1 3 0 -> 105
3 0
3 3 1 -> 105
3 0 0 -> 5
3 3 0 -> 76
0 3 0 -> 35
3 1 0 -> 105
2 3 0 -> 105
4 0
3 3 1 -> 105
3 0 0 -> 51
3 3 0 -> 29
0 3 0 -> 54
1 3 0 -> 105
3 2 0 -> 105
5 0
3 0 0 -> 1
6 1
3 0 0 -> 139
0 0 0 -> 82
3 0 2 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
1 1 2 -> 105
7 0
3 0 0 -> 127
0 0 3 -> 42
3 0 3 -> 15
0 3 3 -> 17
0 0 0 -> 68
3 3 3 -> 75
0 3 0 -> 46
3 0 2 -> 105
3 1 3 -> 105
1 2 3 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
1 1 2 -> 105
8 1
0 0 3 -> 84
0 0 0 -> 88
1 1 3 -> 105
0 2 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 3 -> 105
9 1
3 0 0 -> 139
0 0 3 -> 21
3 0 3 -> 30
0 0 0 -> 82
3 0 2 -> 105
3 1 3 -> 105
1 2 3 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
1 1 2 -> 105
10 0
0 0 3 -> 78
0 0 1 -> 105
1 0 3 -> 105
0 1 3 -> 105
11 0
3 0 0 -> 95
3 0 3 -> 126
0 0 0 -> 35
3 2 1 -> 105
3 1 0 -> 105
2 2 0 -> 105
12 0
3 0 0 -> 4
3 0 3 -> 142
13 1
3 0 0 -> 9
3 0 3 -> 77
0 3 3 -> 96
0 0 0 -> 59
3 3 3 -> 33
3 3 0 -> 141
0 3 0 -> 83
1 1 0 -> 105
3 1 1 -> 105
1 3 1 -> 105
3 3 2 -> 105
14 0
3 0 0 -> 67
3 0 3 -> 126
0 3 3 -> 126
0 0 0 -> 38
3 3 3 -> 18
3 3 0 -> 46
0 3 0 -> 22
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
1 3 1 -> 105
2 3 2 -> 105
15 0
3 0 0 -> 95
3 0 3 -> 126
0 3 3 -> 16
0 0 0 -> 42
3 3 3 -> 18
3 3 0 -> 49
0 3 0 -> 27
3 2 1 -> 105
3 1 0 -> 105
1 2 0 -> 105
1 3 1 -> 105
16 0
0 3 3 -> 142
0 3 0 -> 124
17 1
0 0 3 -> 12
0 3 3 -> 90
0 0 0 -> 92
0 3 0 -> 39
2 0 0 -> 105
2 1 1 -> 105
1 1 0 -> 105
2 3 3 -> 105
1 3 1 -> 105
18 1
3 0 0 -> 6
3 0 3 -> 114
0 3 3 -> 55
0 0 0 -> 59
3 3 3 -> 98
0 3 0 -> 39
1 1 0 -> 105
3 1 1 -> 105
1 3 1 -> 105
19 0
3 0 0 -> 53
3 0 3 -> 121
0 3 3 -> 55
0 0 0 -> 40
3 3 3 -> 98
0 3 0 -> 39
3 2 1 -> 105
3 1 0 -> 105
1 2 0 -> 105
1 3 1 -> 105
20 0
0 0 3 -> 126
0 3 3 -> 90
0 0 0 -> 41
0 3 0 -> 39
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
2 3 3 -> 105
1 3 1 -> 105
21 0
0 3 3 -> 126
0 0 0 -> 35
0 3 0 -> 91
1 3 0 -> 105
2 3 1 -> 105
2 2 0 -> 105
22 1
3 0 0 -> 99
3 0 3 -> 114
0 3 3 -> 119
0 0 0 -> 113
3 3 3 -> 98
0 3 0 -> 106
3 1 2 -> 105
3 0 1 -> 105
2 0 0 -> 105
2 1 1 -> 105
1 1 0 -> 105
1 3 1 -> 105
2 3 2 -> 105
23 1
3 0 0 -> 99
0 0 3 -> 126
3 0 3 -> 19
0 0 0 -> 93
3 1 2 -> 105
3 0 1 -> 105
2 0 0 -> 105
1 2 1 -> 105
2 1 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
3 2 3 -> 105
2 2 2 -> 105
24 1
3 0 0 -> 6
0 0 3 -> 16
3 0 3 -> 19
0 0 0 -> 94
1 2 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
3 2 3 -> 105
3 1 1 -> 105
25 0
0 0 0 -> 1
26 0
0 0 3 -> 104
0 0 0 -> 109
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
0 2 3 -> 105
2 0 3 -> 105
27 1
0 0 0 -> 113
0 3 0 -> 106
2 0 0 -> 105
2 1 1 -> 105
1 1 0 -> 105
1 3 1 -> 105
2 3 2 -> 105
28 0
3 0 0 -> 118
0 0 0 -> 42
3 2 1 -> 105
3 1 0 -> 105
1 2 0 -> 105
29 0
3 0 0 -> 80
3 0 3 -> 61
0 3 3 -> 43
0 0 0 -> 71
3 3 3 -> 44
3 3 0 -> 48
0 3 0 -> 74
3 0 2 -> 105
3 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
0 3 2 -> 105
1 3 3 -> 105
1 1 2 -> 105
30 0
3 0 0 -> 136
0 0 3 -> 42
3 0 3 -> 15
0 3 3 -> 17
0 0 0 -> 111
3 3 3 -> 75
0 3 0 -> 49
3 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
0 2 1 -> 105
0 1 0 -> 105
3 1 3 -> 105
1 2 3 -> 105
31 0
3 0 0 -> 49
0 0 3 -> 5
3 0 3 -> 24
0 3 3 -> 34
0 0 0 -> 110
3 3 3 -> 75
0 3 0 -> 87
2 0 1 -> 105
1 0 0 -> 105
0 3 1 -> 105
1 1 1 -> 105
0 1 0 -> 105
2 1 3 -> 105
1 3 3 -> 105
32 0
3 0 0 -> 46
0 0 3 -> 5
3 0 3 -> 24
0 3 3 -> 34
0 0 0 -> 23
3 3 3 -> 75
0 3 0 -> 130
2 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 2 -> 105
0 3 2 -> 105
1 3 3 -> 105
1 1 2 -> 105
33 0
3 0 0 -> 63
3 0 3 -> 61
0 3 3 -> 43
0 0 0 -> 134
3 3 3 -> 44
3 3 0 -> 125
0 3 0 -> 86
3 0 1 -> 105
1 0 0 -> 105
0 3 1 -> 105
1 1 1 -> 105
0 1 0 -> 105
3 1 3 -> 105
1 3 3 -> 105
34 0
3 0 0 -> 72
3 0 3 -> 12
0 3 3 -> 126
0 0 0 -> 5
3 3 3 -> 18
3 3 0 -> 49
0 3 0 -> 91
1 3 0 -> 105
2 1 0 -> 105
2 3 1 -> 105
3 1 1 -> 105
35 0
3 3 0 -> 1
36 0
3 0 0 -> 95
3 0 3 -> 126
0 3 3 -> 126
0 0 0 -> 35
3 3 3 -> 18
3 3 0 -> 49
0 3 0 -> 91
3 2 1 -> 105
3 1 0 -> 105
1 3 0 -> 105
2 3 1 -> 105
2 2 0 -> 105
37 0
3 3 1 -> 105
3 0 0 -> 28
3 3 0 -> 29
0 3 0 -> 54
3 1 0 -> 105
1 3 0 -> 105
38 0
3 0 0 -> 1
3 3 3 -> 142
3 3 0 -> 13
0 3 0 -> 1
39 1
0 0 0 -> 102
0 3 0 -> 137
0 1 1 -> 105
1 0 1 -> 105
2 0 2 -> 105
0 3 2 -> 105
1 1 2 -> 105
40 0
0 0 0 -> 35
0 3 0 -> 116
1 3 0 -> 105
2 3 1 -> 105
2 2 0 -> 105
41 0
3 0 0 -> 118
0 0 0 -> 35
3 3 0 -> 97
0 3 0 -> 116
3 2 1 -> 105
3 1 0 -> 105
1 3 0 -> 105
2 3 1 -> 105
2 2 0 -> 105
3 3 2 -> 105
42 0
0 3 0 -> 1
43 0
0 3 3 -> 126
0 0 0 -> 5
0 3 0 -> 91
1 3 0 -> 105
2 1 0 -> 105
2 3 1 -> 105
44 0
3 0 0 -> 49
0 0 3 -> 25
3 0 3 -> 24
0 3 3 -> 17
0 0 0 -> 73
3 3 3 -> 75
0 3 0 -> 49
1 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
45 1
0 0 0 -> 107
0 0 2 -> 105
46 0
0 0 3 -> 78
0 0 2 -> 105
1 0 3 -> 105
0 1 3 -> 105
47 0
0 0 0 -> 109
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
48 0
0 0 3 -> 10
49 0
0 0 0 -> 26
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
50 0
3 0 0 -> 53
3 0 3 -> 121
0 3 3 -> 119
0 0 0 -> 52
3 3 3 -> 98
0 3 0 -> 69
3 2 1 -> 105
3 1 0 -> 105
1 3 0 -> 105
2 3 1 -> 105
2 2 0 -> 105
51 0
3 3 1 -> 105
3 0 0 -> 35
3 3 0 -> 76
0 3 0 -> 42
1 3 0 -> 105
3 2 0 -> 105
52 0
3 3 1 -> 105
3 0 0 -> 35
3 3 0 -> 76
0 3 0 -> 35
3 2 0 -> 105
2 3 0 -> 105
53 0
3 0 0 -> 7
0 0 0 -> 58
3 3 0 -> 48
0 3 0 -> 74
3 1 2 -> 105
3 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
1 2 2 -> 105
0 2 1 -> 105
0 1 0 -> 105
0 3 2 -> 105
54 0
0 0 0 -> 5
0 3 0 -> 116
1 3 0 -> 105
2 1 0 -> 105
2 3 1 -> 105
55 0
0 3 3 -> 119
0 0 0 -> 60
0 3 0 -> 69
1 3 0 -> 105
2 1 0 -> 105
2 3 1 -> 105
56 0
3 0 0 -> 67
3 0 3 -> 126
0 0 0 -> 38
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
57 0
0 0 3 -> 126
0 0 0 -> 41
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
58 0
0 3 3 -> 126
0 0 0 -> 38
0 3 0 -> 22
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
1 3 1 -> 105
2 3 2 -> 105
59 0
0 0 0 -> 117
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
60 0
3 0 0 -> 118
0 0 0 -> 35
3 2 1 -> 105
3 1 0 -> 105
2 2 0 -> 105
61 0
3 0 0 -> 95
3 0 3 -> 126
0 0 0 -> 42
3 2 1 -> 105
3 1 0 -> 105
1 2 0 -> 105
62 0
3 0 0 -> 139
0 0 0 -> 64
0 3 0 -> 137
3 0 2 -> 105
2 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
1 2 2 -> 105
2 1 2 -> 105
0 2 1 -> 105
0 1 0 -> 105
0 3 2 -> 105
63 0
3 0 0 -> 127
0 0 0 -> 68
3 0 2 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
1 1 2 -> 105
64 0
3 0 0 -> 127
0 0 3 -> 35
3 0 3 -> 15
0 3 3 -> 34
0 0 0 -> 14
3 3 3 -> 75
0 3 0 -> 130
3 0 2 -> 105
2 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
1 2 2 -> 105
2 1 2 -> 105
0 2 1 -> 105
0 1 0 -> 105
2 2 3 -> 105
3 1 3 -> 105
0 3 2 -> 105
1 3 3 -> 105
65 0
0 0 3 -> 36
0 3 3 -> 131
0 0 0 -> 66
2 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
0 2 1 -> 105
0 1 0 -> 105
1 2 3 -> 105
2 1 3 -> 105
66 0
3 0 0 -> 127
0 0 0 -> 14
0 3 0 -> 130
3 0 2 -> 105
2 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
1 2 2 -> 105
2 1 2 -> 105
0 2 1 -> 105
0 1 0 -> 105
0 3 2 -> 105
67 1
3 0 0 -> 103
3 0 3 -> 121
0 3 3 -> 55
0 0 0 -> 122
3 3 3 -> 98
0 3 0 -> 79
1 3 2 -> 105
0 3 1 -> 105
1 2 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
68 1
0 0 3 -> 126
0 3 3 -> 90
0 0 0 -> 93
0 3 0 -> 79
1 3 2 -> 105
0 3 1 -> 105
2 0 0 -> 105
1 2 1 -> 105
2 1 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
2 3 3 -> 105
2 2 2 -> 105
69 0
3 0 0 -> 80
0 0 0 -> 56
3 3 0 -> 48
0 3 0 -> 32
3 0 2 -> 105
2 0 1 -> 105
1 3 2 -> 105
1 0 0 -> 105
0 3 1 -> 105
1 1 1 -> 105
2 1 2 -> 105
0 1 0 -> 105
70 0
0 0 3 -> 50
0 0 0 -> 62
2 2 3 -> 105
2 0 0 -> 105
1 2 1 -> 105
2 1 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
71 1
0 0 3 -> 126
0 0 0 -> 93
2 0 0 -> 105
1 2 1 -> 105
2 1 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
2 2 2 -> 105
72 1
3 0 0 -> 103
0 0 0 -> 122
1 2 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
73 1
0 0 0 -> 93
2 0 0 -> 105
1 2 1 -> 105
2 1 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
2 2 2 -> 105
74 0
0 0 3 -> 85
0 3 3 -> 131
0 0 0 -> 26
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
2 0 3 -> 105
75 0
0 0 3 -> 70
3 0 3 -> 10
0 3 3 -> 10
0 0 0 -> 47
0 0 1 -> 105
1 0 3 -> 105
0 1 3 -> 105
76 0
3 0 0 -> 115
0 0 0 -> 25
3 3 3 -> 120
3 3 0 -> 97
0 3 0 -> 123
1 1 0 -> 105
3 1 1 -> 105
1 3 1 -> 105
3 3 2 -> 105
77 0
3 0 0 -> 51
3 2 0 -> 105
78 0
0 0 3 -> 104
0 0 0 -> 45
1 1 3 -> 105
0 2 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 3 -> 105
79 0
0 0 3 -> 101
0 3 3 -> 138
0 0 0 -> 109
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
2 0 3 -> 105
80 0
0 0 3 -> 20
3 0 3 -> 128
0 0 0 -> 26
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
0 2 3 -> 105
81 1
0 0 3 -> 85
0 3 3 -> 131
0 0 0 -> 88
1 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 3 -> 105
82 1
0 0 3 -> 36
0 3 3 -> 131
0 0 0 -> 0
1 2 3 -> 105
2 1 3 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
2 0 2 -> 105
1 1 2 -> 105
83 1
0 0 3 -> 11
0 3 3 -> 31
0 0 0 -> 102
0 3 0 -> 137
2 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 2 -> 105
0 3 2 -> 105
1 3 3 -> 105
1 1 2 -> 105
84 0
3 0 0 -> 6
0 0 3 -> 126
3 0 3 -> 19
0 3 3 -> 90
0 0 0 -> 41
3 3 3 -> 10
0 3 0 -> 39
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 2 3 -> 105
3 1 1 -> 105
2 3 3 -> 105
1 3 1 -> 105
85 0
3 0 0 -> 6
0 0 3 -> 126
3 0 3 -> 19
0 0 0 -> 41
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 2 3 -> 105
3 1 1 -> 105
86 0
0 0 0 -> 23
0 3 0 -> 130
0 1 1 -> 105
1 0 1 -> 105
2 0 2 -> 105
0 3 2 -> 105
1 1 2 -> 105
87 0
3 0 0 -> 46
0 0 0 -> 23
0 3 0 -> 130
0 1 1 -> 105
1 0 1 -> 105
2 0 2 -> 105
0 3 2 -> 105
1 1 2 -> 105
88 1
0 0 0 -> 0
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
2 0 2 -> 105
1 1 2 -> 105
89 0
3 0 0 -> 80
0 0 0 -> 71
3 3 0 -> 48
0 3 0 -> 74
3 0 2 -> 105
0 1 1 -> 105
1 0 1 -> 105
0 3 2 -> 105
1 1 2 -> 105
90 0
3 0 0 -> 6
3 0 3 -> 114
0 3 3 -> 119
0 0 0 -> 60
3 3 3 -> 98
0 3 0 -> 69
1 3 0 -> 105
2 1 0 -> 105
2 3 1 -> 105
3 1 1 -> 105
91 0
3 0 0 -> 115
0 0 0 -> 5
3 3 0 -> 97
0 3 0 -> 116
1 3 0 -> 105
2 1 0 -> 105
2 3 1 -> 105
3 1 1 -> 105
3 3 2 -> 105
92 0
3 0 0 -> 103
0 0 0 -> 117
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
93 0
3 0 0 -> 103
3 0 3 -> 121
0 3 3 -> 119
0 0 0 -> 117
3 3 3 -> 98
0 3 0 -> 106
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
1 3 1 -> 105
2 3 2 -> 105
94 0
0 0 0 -> 117
0 3 0 -> 106
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
1 3 1 -> 105
2 3 2 -> 105
95 0
3 0 0 -> 118
0 0 0 -> 42
3 3 0 -> 97
0 3 0 -> 123
3 2 1 -> 105
3 1 0 -> 105
1 2 0 -> 105
1 3 1 -> 105
3 3 2 -> 105
96 0
0 3 0 -> 3
2 3 0 -> 105
97 0
0 0 3 -> 57
3 0 3 -> 100
0 3 3 -> 81
0 0 0 -> 26
3 3 3 -> 48
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
98 1
0 0 3 -> 57
3 0 3 -> 100
0 3 3 -> 81
0 0 0 -> 88
3 3 3 -> 48
1 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
99 0
0 0 3 -> 65
3 0 3 -> 140
0 0 0 -> 109
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
0 2 3 -> 105
100 1
0 0 3 -> 20
3 0 3 -> 128
0 0 0 -> 88
1 1 3 -> 105
0 2 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
101 0
0 0 3 -> 36
3 0 3 -> 128
0 0 0 -> 66
2 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
0 2 1 -> 105
0 1 0 -> 105
1 2 3 -> 105
2 1 3 -> 105
102 1
0 0 3 -> 36
3 0 3 -> 128
0 0 0 -> 0
1 2 3 -> 105
2 1 3 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
2 0 2 -> 105
1 1 2 -> 105
103 1
3 0 0 -> 139
0 0 3 -> 21
3 0 3 -> 30
0 3 3 -> 81
0 0 0 -> 82
3 3 3 -> 48
3 0 2 -> 105
3 1 3 -> 105
1 2 3 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
1 1 2 -> 105
104 0
0 0 3 -> 36
3 0 3 -> 128
0 3 3 -> 131
0 0 0 -> 66
2 0 1 -> 105
1 0 0 -> 105
1 1 1 -> 105
0 2 1 -> 105
0 1 0 -> 105
1 2 3 -> 105
2 1 3 -> 105
105 1
106 1
0 0 3 -> 11
3 0 3 -> 100
0 3 3 -> 31
0 0 0 -> 102
3 3 3 -> 48
0 3 0 -> 137
2 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 2 -> 105
0 3 2 -> 105
1 3 3 -> 105
1 1 2 -> 105
107 0
0 0 3 -> 132
108 1
0 0 3 -> 132
109 0
0 0 3 -> 108
110 0
3 0 0 -> 67
0 0 0 -> 38
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
111 0
0 0 0 -> 38
0 3 0 -> 22
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
1 3 1 -> 105
2 3 2 -> 105
112 0
3 3 0 -> 2
113 0
3 0 0 -> 103
3 0 3 -> 121
0 0 0 -> 117
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
114 0
3 0 0 -> 53
3 0 3 -> 121
0 0 0 -> 40
3 2 1 -> 105
3 1 0 -> 105
1 2 0 -> 105
115 1
3 0 0 -> 103
3 0 3 -> 121
0 0 0 -> 122
1 2 1 -> 105
1 1 0 -> 105
0 2 0 -> 105
3 1 1 -> 105
3 2 2 -> 105
116 0
3 0 0 -> 115
0 0 0 -> 5
3 3 3 -> 120
3 3 0 -> 97
0 3 0 -> 116
1 3 0 -> 105
2 1 0 -> 105
2 3 1 -> 105
3 1 1 -> 105
3 3 2 -> 105
117 0
3 0 0 -> 118
0 0 0 -> 35
3 3 3 -> 120
3 3 0 -> 97
0 3 0 -> 116
3 2 1 -> 105
3 1 0 -> 105
1 3 0 -> 105
2 3 1 -> 105
2 2 0 -> 105
3 3 2 -> 105
118 0
3 0 0 -> 118
0 0 0 -> 42
3 3 3 -> 120
3 3 0 -> 97
0 3 0 -> 123
3 2 1 -> 105
3 1 0 -> 105
1 2 0 -> 105
1 3 1 -> 105
3 3 2 -> 105
119 0
3 3 1 -> 105
3 0 0 -> 28
3 3 3 -> 120
3 3 0 -> 89
0 3 0 -> 3
3 1 0 -> 105
2 3 0 -> 105
120 0
3 3 1 -> 105
3 0 0 -> 28
3 3 3 -> 120
3 3 0 -> 89
0 3 0 -> 54
3 1 0 -> 105
1 3 0 -> 105
121 0
3 3 1 -> 105
3 0 0 -> 51
3 3 3 -> 120
3 3 0 -> 89
0 3 0 -> 54
1 3 0 -> 105
3 2 0 -> 105
122 0
0 3 3 -> 119
0 0 0 -> 117
0 3 0 -> 106
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
1 3 1 -> 105
2 3 2 -> 105
123 1
0 3 3 -> 119
0 0 0 -> 113
0 3 0 -> 106
2 0 0 -> 105
2 1 1 -> 105
1 1 0 -> 105
1 3 1 -> 105
2 3 2 -> 105
124 0
3 3 1 -> 105
3 0 0 -> 28
3 3 0 -> 29
0 3 0 -> 3
3 1 0 -> 105
2 3 0 -> 105
125 0
0 0 0 -> 46
126 0
3 3 3 -> 142
3 3 0 -> 37
127 0
0 0 3 -> 20
3 0 3 -> 128
0 3 3 -> 10
0 0 0 -> 26
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
0 2 3 -> 105
128 1
0 0 3 -> 20
3 0 3 -> 128
0 3 3 -> 10
0 0 0 -> 88
1 1 3 -> 105
0 2 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
129 1
0 0 3 -> 84
0 3 3 -> 10
0 0 0 -> 88
1 1 3 -> 105
0 2 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 3 -> 105
130 0
0 0 3 -> 85
3 0 3 -> 10
0 3 3 -> 131
0 0 0 -> 26
0 0 1 -> 105
1 0 2 -> 105
0 1 2 -> 105
1 1 3 -> 105
2 0 3 -> 105
131 1
0 0 3 -> 85
3 0 3 -> 10
0 3 3 -> 131
0 0 0 -> 88
1 1 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 3 -> 105
132 1
0 0 3 -> 84
3 0 3 -> 10
0 3 3 -> 10
0 0 0 -> 88
1 1 3 -> 105
0 2 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 3 -> 105
133 1
0 0 3 -> 84
3 0 3 -> 10
0 0 0 -> 88
1 1 3 -> 105
0 2 3 -> 105
0 1 1 -> 105
1 0 1 -> 105
2 0 3 -> 105
134 0
0 0 0 -> 38
2 2 1 -> 105
1 2 0 -> 105
2 1 0 -> 105
135 0
3 3 1 -> 105
3 0 0 -> 28
3 3 3 -> 112
3 3 0 -> 29
0 3 0 -> 54
3 1 0 -> 105
1 3 0 -> 105
136 0
3 0 0 -> 127
0 0 0 -> 68
0 3 0 -> 46
3 0 2 -> 105
0 1 1 -> 105
0 2 2 -> 105
1 0 1 -> 105
1 1 2 -> 105
137 0
0 0 3 -> 133
0 3 3 -> 48
138 1
0 0 3 -> 133
0 3 3 -> 48
139 0
0 0 3 -> 129
3 0 3 -> 48
140 1
0 0 3 -> 129
3 0 3 -> 48
141 0
0 0 3 -> 8
3 0 3 -> 48
0 3 3 -> 48
142 0 3 3 0 -> 112
Created file '/home/jovyan/Custom Bases/msd_mor_addition.txt'.
We can now define our DFAO with a few lines.
%%file ../Word Automata Library/Mor.txt
{0, 1, 2, 3}
0 0
0 -> 0
1 -> 1
2 -> 1
3 -> 2
1 1
2 0
0 -> 3
1 -> 1
3 -> 2
3 0
0 -> 0
1 -> 1 2 -> 1
Created file '/home/jovyan/Word Automata Library/Mor.txt'.
The first predicate we need is a way to compare factors.
def cut "?msd_mor i<=u & j<=v & u+j=v+i & u<n+i & v<n+j": def factoreq "?msd_mor ~(Eu,v $cut(i,j,n,u,v) & Mor[u]!=Mor[v])"::
i<=u:13 states - 10ms
j<=v:13 states - 3ms
(i<=u&j<=v):145 states - 43ms
(u+j)=(v+i):1354 states - 1100ms
((i<=u&j<=v)&(u+j)=(v+i)):1363 states - 97ms
u<(n+i):201 states - 47ms
(((i<=u&j<=v)&(u+j)=(v+i))&u<(n+i)):11655 states - 1501ms
v<(n+j):201 states - 32ms
((((i<=u&j<=v)&(u+j)=(v+i))&u<(n+i))&v<(n+j)):11655 states - 1582ms
Total computation time: 4424ms.
computing cut(...)
fixing leading zeros:11655 states
Determinizing: 11655 states
Progress: Added 100 states - 516 states left in queue - 616 reachable states - 41ms
Progress: Added 1000 states - 1376 states left in queue - 2376 reachable states - 116ms
Progress: Added 10000 states - 972 states left in queue - 10972 reachable states - 632ms
Determinized: 11655 states - 702ms
----- Minimizing: 11655 states.
Determinizing: 11655 states
Progress: Added 100 states - 516 states left in queue - 616 reachable states - 7ms
Progress: Added 1000 states - 1376 states left in queue - 2376 reachable states - 75ms
Progress: Added 10000 states - 972 states left in queue - 10972 reachable states - 502ms
Determinized: 11655 states - 569ms
----- Minimized:11655 states - 758ms.
Minimized:11655 states - 758ms.
fixed leading zeros:11655 states - 1465ms
computed cut(i,j,n,u,v))
computing Mor[...]
computed Mor[u]
computing Mor[...]
computed Mor[v]
computing Mor[u]!=Mor[v]
comparing (!=):4 states - 4 states
Computing cross product:4 states - 4 states
computed cross product:16 states - 1ms
----- Minimizing: 16 states.
Determinizing: 16 states
Determinized: 16 states - 0ms
----- Minimized:10 states - 0ms.
Minimized:10 states - 0ms.
compared (!=):4 states - 4ms
computed Mor[u]!=Mor[v]
Mor[u]!=Mor[v]:10 states - 4ms
computing cut(i,j,n,u,v))&Mor[u]!=Mor[v]
computing &:11655 states - 10 states
Computing cross product:11655 states - 10 states
Progress: Added 100 states - 505 states left in queue - 605 reachable states - 7ms
Progress: Added 1000 states - 1549 states left in queue - 2549 reachable states - 47ms
Progress: Added 10000 states - 1871 states left in queue - 11871 reachable states - 152ms
computed cross product:13681 states - 197ms
----- Minimizing: 13681 states.
Determinizing: 13681 states
Progress: Added 100 states - 505 states left in queue - 605 reachable states - 4ms
Progress: Added 1000 states - 1549 states left in queue - 2549 reachable states - 35ms
Progress: Added 10000 states - 1871 states left in queue - 11871 reachable states - 345ms
Determinized: 13681 states - 479ms
----- Minimized:11649 states - 620ms.
Minimized:11649 states - 620ms.
computed &:11649 states - 817ms
computed cut(i,j,n,u,v))&Mor[u]!=Mor[v]
(cut(i,j,n,u,v))&Mor[u]!=Mor[v]):11649 states - 818ms
computing quantifier E
quantifying:11649 states
----- Minimizing: 11649 states.
Determinizing: 11649 states
Progress: Added 100 states - 328 states left in queue - 428 reachable states - 5ms
Progress: Added 1000 states - 2487 states left in queue - 3487 reachable states - 77ms
Progress: Added 10000 states - 21254 states left in queue - 31254 reachable states - 1007ms
Progress: Added 20000 states - 33079 states left in queue - 53079 reachable states - 2120ms
Progress: Added 30000 states - 39792 states left in queue - 69792 reachable states - 3257ms
Progress: Added 40000 states - 43524 states left in queue - 83524 reachable states - 4468ms
Progress: Added 50000 states - 45891 states left in queue - 95891 reachable states - 5907ms
Progress: Added 60000 states - 49016 states left in queue - 109016 reachable states - 7217ms
Progress: Added 70000 states - 49922 states left in queue - 119922 reachable states - 8452ms
Progress: Added 80000 states - 49250 states left in queue - 129250 reachable states - 9931ms
Progress: Added 90000 states - 48035 states left in queue - 138035 reachable states - 11371ms
Progress: Added 100000 states - 51773 states left in queue - 151773 reachable states - 12830ms
Progress: Added 110000 states - 53237 states left in queue - 163237 reachable states - 14353ms
Progress: Added 120000 states - 51429 states left in queue - 171429 reachable states - 15701ms
Progress: Added 130000 states - 51329 states left in queue - 181329 reachable states - 17235ms
Progress: Added 140000 states - 49860 states left in queue - 189860 reachable states - 18708ms
Progress: Added 150000 states - 51387 states left in queue - 201387 reachable states - 20499ms
Progress: Added 160000 states - 50307 states left in queue - 210307 reachable states - 22181ms
Progress: Added 170000 states - 48032 states left in queue - 218032 reachable states - 23629ms
Progress: Added 180000 states - 48872 states left in queue - 228872 reachable states - 25174ms
Progress: Added 190000 states - 48662 states left in queue - 238662 reachable states - 26774ms
Progress: Added 200000 states - 52434 states left in queue - 252434 reachable states - 28389ms
Progress: Added 210000 states - 53607 states left in queue - 263607 reachable states - 30055ms
Progress: Added 220000 states - 51469 states left in queue - 271469 reachable states - 31539ms
Progress: Added 230000 states - 53234 states left in queue - 283234 reachable states - 33656ms
Progress: Added 240000 states - 55644 states left in queue - 295644 reachable states - 35721ms
Progress: Added 250000 states - 57089 states left in queue - 307089 reachable states - 37814ms
Progress: Added 260000 states - 57061 states left in queue - 317061 reachable states - 39865ms
Progress: Added 270000 states - 56874 states left in queue - 326874 reachable states - 41871ms
Progress: Added 280000 states - 60053 states left in queue - 340053 reachable states - 43962ms
Progress: Added 290000 states - 62235 states left in queue - 352235 reachable states - 45960ms
Progress: Added 300000 states - 65859 states left in queue - 365859 reachable states - 48234ms
Progress: Added 310000 states - 66500 states left in queue - 376500 reachable states - 50052ms
Progress: Added 320000 states - 68057 states left in queue - 388057 reachable states - 51948ms
Progress: Added 330000 states - 69219 states left in queue - 399219 reachable states - 53709ms
Progress: Added 340000 states - 69872 states left in queue - 409872 reachable states - 55622ms
Progress: Added 350000 states - 71163 states left in queue - 421163 reachable states - 57544ms
Progress: Added 360000 states - 72150 states left in queue - 432150 reachable states - 59352ms
Progress: Added 370000 states - 70018 states left in queue - 440018 reachable states - 61357ms
Progress: Added 380000 states - 68620 states left in queue - 448620 reachable states - 64978ms
Progress: Added 390000 states - 67798 states left in queue - 457798 reachable states - 67520ms
Progress: Added 400000 states - 66933 states left in queue - 466933 reachable states - 70112ms
Progress: Added 410000 states - 67616 states left in queue - 477616 reachable states - 72492ms
Progress: Added 420000 states - 69112 states left in queue - 489112 reachable states - 74860ms
Progress: Added 430000 states - 68894 states left in queue - 498894 reachable states - 76851ms
Progress: Added 440000 states - 68337 states left in queue - 508337 reachable states - 78768ms
Progress: Added 450000 states - 67389 states left in queue - 517389 reachable states - 80719ms
Progress: Added 460000 states - 66674 states left in queue - 526674 reachable states - 82586ms
Progress: Added 470000 states - 65698 states left in queue - 535698 reachable states - 84586ms
Progress: Added 480000 states - 61792 states left in queue - 541792 reachable states - 86510ms
Progress: Added 490000 states - 61042 states left in queue - 551042 reachable states - 88486ms
Progress: Added 500000 states - 58548 states left in queue - 558548 reachable states - 90663ms
Progress: Added 510000 states - 55063 states left in queue - 565063 reachable states - 92765ms
Progress: Added 520000 states - 52042 states left in queue - 572042 reachable states - 94695ms
Progress: Added 530000 states - 49948 states left in queue - 579948 reachable states - 96905ms
Progress: Added 540000 states - 47722 states left in queue - 587722 reachable states - 99190ms
Progress: Added 550000 states - 44998 states left in queue - 594998 reachable states - 101872ms
Progress: Added 560000 states - 39884 states left in queue - 599884 reachable states - 104262ms
Progress: Added 570000 states - 33983 states left in queue - 603983 reachable states - 106792ms
Progress: Added 580000 states - 30122 states left in queue - 610122 reachable states - 109412ms
Progress: Added 590000 states - 23414 states left in queue - 613414 reachable states - 111871ms
Progress: Added 600000 states - 17873 states left in queue - 617873 reachable states - 114155ms
Progress: Added 610000 states - 11493 states left in queue - 621493 reachable states - 116552ms
Progress: Added 620000 states - 5189 states left in queue - 625189 reachable states - 118922ms
Determinized: 629268 states - 121363ms
----- Minimized:194 states - 139174ms.
Minimized:194 states - 139174ms.
quantified:194 states - 139207ms
fixing leading zeros:194 states
Determinizing: 194 states
Progress: Added 100 states - 73 states left in queue - 173 reachable states - 2ms
Determinized: 352 states - 7ms
----- Minimizing: 352 states.
Determinizing: 352 states
Progress: Added 100 states - 73 states left in queue - 173 reachable states - 2ms
Determinized: 352 states - 7ms
----- Minimized:165 states - 12ms.
Minimized:165 states - 12ms.
fixed leading zeros:165 states - 20ms
computed quantifier (E u , v (cut(i,j,n,u,v))&Mor[u]!=Mor[v]))
(E u , v (cut(i,j,n,u,v))&Mor[u]!=Mor[v])):165 states - 139231ms
computing ~(E u , v (cut(i,j,n,u,v))&Mor[u]!=Mor[v]))
computing ~:165 states
totalizing:165 states
totalized:166 states - 2ms
----- Minimizing: 166 states.
Determinizing: 166 states
Progress: Added 100 states - 19 states left in queue - 119 reachable states - 4ms
Determinized: 166 states - 6ms
----- Minimized:166 states - 10ms.
Minimized:166 states - 10ms.
computed ~:125 states - 30ms
computed ~(E u , v (cut(i,j,n,u,v))&Mor[u]!=Mor[v]))
~(E u , v (cut(i,j,n,u,v))&Mor[u]!=Mor[v])):125 states - 30ms
Total computation time: 141550ms.
eval check52plus "?msd_mor ~Ei,n n>=1 & At,u (t>=i & 2*t<=2*i+3*n & u=t+n) => Mor[t]=Mor[u]":
computed ~:1 states - 12ms
computed ~:2 states - 2ms
n>=1:5 states - 21ms
t>=i:13 states - 2ms
(2*t)<=((2*i)+(3*n)):3134 states - 4009ms
(t>=i&(2*t)<=((2*i)+(3*n))):3146 states - 80ms
u=(t+n):143 states - 5ms
((t>=i&(2*t)<=((2*i)+(3*n)))&u=(t+n)):30393 states - 2144ms
Mor[t]=Mor[u]:10 states - 0ms
(((t>=i&(2*t)<=((2*i)+(3*n)))&u=(t+n))=>Mor[t]=Mor[u]):42864 states - 55872ms
(A t , u (((t>=i&(2*t)<=((2*i)+(3*n)))&u=(t+n))=>Mor[t]=Mor[u])):4 states - 66423ms
(n>=1&(A t , u (((t>=i&(2*t)<=((2*i)+(3*n)))&u=(t+n))=>Mor[t]=Mor[u]))):1 states - 1ms
(E i , n (n>=1&(A t , u (((t>=i&(2*t)<=((2*i)+(3*n)))&u=(t+n))=>Mor[t]=Mor[u])))):1 states - 4ms
~(E i , n (n>=1&(A t , u (((t>=i&(2*t)<=((2*i)+(3*n)))&u=(t+n))=>Mor[t]=Mor[u])))):1 states - 0ms
Total computation time: 129826ms.
____
TRUE
There is only one factor of power \(5/2\).
def per "?msd_mor p>=1 & p<=n & $factoreq(i,i+p,n-p)":
def exp52 "?msd_mor Ep $per(i,n,p) & 2*n=5*p": eval testlength "?msd_mor Ai,n (n>=1 & $exp52(i,n)) => (n=10 & $factoreq(i,11,10))":
p>=1:5 states - 2ms
p<=n:13 states - 1ms
(p>=1&p<=n):17 states - 0ms
((p>=1&p<=n)&factoreq(i,(i+p),(n-p)))):719 states - 8ms
Total computation time: 722ms.
(2*n)=(5*p):920 states - 62ms
(per(i,n,p))&(2*n)=(5*p)):7 states - 0ms
(E p (per(i,n,p))&(2*n)=(5*p))):7 states - 0ms
Total computation time: 186ms.
n>=1:5 states - 1ms
(n>=1&exp52(i,n))):7 states - 0ms
n=10:4 states - 2ms
(n=10&factoreq(i,11,10))):7 states - 0ms
((n>=1&exp52(i,n)))=>(n=10&factoreq(i,11,10)))):10 states - 2ms
(A i , n ((n>=1&exp52(i,n)))=>(n=10&factoreq(i,11,10))))):1 states - 1ms
Total computation time: 8ms.
____
TRUE
def novel n "?msd_mor n>=1 & Aj (j<n) => ~$factoreq(i,j,n)": def twon n "?msd_mor n>=1 & i<2*n":
n>=1:5 states - 2ms
j<n:13 states - 0ms
~factoreq(i,j,n)):165 states - 20ms
(j<n=>~factoreq(i,j,n))):149 states - 32ms
(A j (j<n=>~factoreq(i,j,n)))):120 states - 19ms
(n>=1&(A j (j<n=>~factoreq(i,j,n))))):120 states - 1ms
Total computation time: 75ms.
n>=1:5 states - 1ms
i<(2*n):70 states - 3ms
(n>=1&i<(2*n)):70 states - 1ms
Total computation time: 5ms.
The two generated Maple files can be found in novel.mpl and twon.mpl.
The word \({\bf q}\) is uniformly recurrent.
def nextgap "?msd_mor Ej i<j & $factoreq(i,j,n) & i+g=j & At (i<t & t<j) => ~$factoreq(i,t,n)": def maxgap "?msd_mor Ei $nextgap(g,i,n) & Ah (h>g) => ~Ei $nextgap(h,i,n)":
i<j:13 states - 0ms
(i<j&factoreq(i,j,n))):128 states - 1ms
(i+g)=j:143 states - 4ms
((i<j&factoreq(i,j,n)))&(i+g)=j):487 states - 20ms
i<t:13 states - 0ms
t<j:13 states - 0ms
(i<t&t<j):49 states - 2ms
~factoreq(i,t,n)):165 states - 27ms
((i<t&t<j)=>~factoreq(i,t,n))):639 states - 576ms
(A t ((i<t&t<j)=>~factoreq(i,t,n)))):706 states - 459ms
(((i<j&factoreq(i,j,n)))&(i+g)=j)&(A t ((i<t&t<j)=>~factoreq(i,t,n))))):282 states - 7ms
(E j (((i<j&factoreq(i,j,n)))&(i+g)=j)&(A t ((i<t&t<j)=>~factoreq(i,t,n)))))):275 states - 3ms
Total computation time: 1103ms.
h>g:13 states - 0ms
(E i nextgap(h,i,n))):33 states - 14ms
~(E i nextgap(h,i,n))):52 states - 2ms
(h>g=>~(E i nextgap(h,i,n)))):145 states - 25ms
(A h (h>g=>~(E i nextgap(h,i,n))))):48 states - 15ms
(nextgap(g,i,n))&(A h (h>g=>~(E i nextgap(h,i,n)))))):170 states - 1ms
(E i (nextgap(g,i,n))&(A h (h>g=>~(E i nextgap(h,i,n))))))):38 states - 2ms
Total computation time: 65ms.
eval uc "?msd_mor Ag,n (n>=1 & $maxgap(g,n)) => g<=7*n":
n>=1:5 states - 1ms
(n>=1&maxgap(g,n))):38 states - 0ms
g<=(7*n):1621 states - 179ms
((n>=1&maxgap(g,n)))=>g<=(7*n)):10 states - 29ms
(A g , n ((n>=1&maxgap(g,n)))=>g<=(7*n))):1 states - 0ms
Total computation time: 698ms.
____
TRUE