aboutsummaryrefslogtreecommitdiff
path: root/html/group.html
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2013-03-30 20:04:10 +0000
committerSimon Tatham <anakin@pobox.com>2013-03-30 20:04:10 +0000
commite2c84a5fd2b1ca6d3d8be0279466079b35b6c189 (patch)
tree59ff27ef2ca442ba15fa855f900a7f8ec1d1a59d /html/group.html
parent6920d97c0977a77be869ecfa1ae933eaaf131e90 (diff)
downloadpuzzles-e2c84a5fd2b1ca6d3d8be0279466079b35b6c189.zip
puzzles-e2c84a5fd2b1ca6d3d8be0279466079b35b6c189.tar.gz
puzzles-e2c84a5fd2b1ca6d3d8be0279466079b35b6c189.tar.bz2
puzzles-e2c84a5fd2b1ca6d3d8be0279466079b35b6c189.tar.xz
Introduce a mechanism in this source tree for building the container
web pages for the Java applets. Previously, those have all been maintained by hand in my website's svn area, which is a bit silly. Now we have a file per puzzle in the 'html' subdirectory which contains the puzzle's name, one or two attributes, and the instructions snippet to go below the puzzle applet; and then there's a Perl script that builds all the real web pages out of that by adding in the parts common across all files: the header, footer, and middle fragment with the <applet> tag and resizing bits and pieces. One piece _not_ checked in here is the footer text specific to my hosting at chiark, which I think does still belong in the www area. So Buildscr doesn't actually build the web pages; it just delivers the bits and pieces by which my nightly snapshot script will be able to run the program that _does_ build them, passing that footer as an extra argument. [originally from svn r9780]
Diffstat (limited to 'html/group.html')
-rw-r--r--html/group.html52
1 files changed, 52 insertions, 0 deletions
diff --git a/html/group.html b/html/group.html
new file mode 100644
index 0000000..c0f52de
--- /dev/null
+++ b/html/group.html
@@ -0,0 +1,52 @@
+unfinished:Group
+<p>
+Fill in the grid with the letters shown to the top and left of it, so
+that the full grid is a valid
+<a href="http://en.wikipedia.org/wiki/Cayley_table">Cayley table</a>
+for a
+<a href="http://en.wikipedia.org/wiki/Group_(mathematics)">group</a>.
+<p>
+If you don't already know what a group is, I don't really recommend
+trying to play this game. But if you want to try anyway, the above is
+equivalent to saying that the following conditions must be satisfied:
+<ul>
+<li>
+<strong>Latin square</strong>. Every row and column must contain
+exactly one of each letter.
+<li>
+<strong>Identity</strong>. There must be some letter <i>e</i> such
+that, for all <i>a</i>, the letter in row <i>e</i> column <i>a</i> and
+the one in row <i>a</i> column <i>e</i> are both <i>a</i>. In the
+default mode, this letter is always <i>e</i> and its row and column
+are filled in for you; by reconfiguring the game using the Type menu,
+you can select a mode in which you have to work out which letter is
+the identity.
+<li>
+<strong>Inverses</strong>. For every letter <i>a</i>, there must be
+some letter <i>b</i> (which may sometimes be the same letter
+as <i>a</i>) such that the letters in row <i>a</i> column <i>b</i> and
+in row <i>b</i> column <i>a</i> are both the identity letter (as
+defined above).
+<li>
+<strong>Associativity</strong>. For every combination of
+letters <i>a</i>, <i>b</i>, and <i>c</i>, denote the letter in
+row <i>a</i> column <i>b</i> by <i>d</i>, and the one in row <i>b</i>
+column <i>c</i> by <i>e</i>. Then the letters in row <i>d</i>
+column <i>c</i> and in row <i>a</i> column <i>e</i> must be the same.
+</ul>
+<p>
+To place a letter, click in a square to select it, then type the
+letter on the keyboard. To erase a letter, click to select a square
+and then press Backspace.
+<p>
+Right-click in a square and then type a letter to add or remove the
+number as a pencil mark, indicating letters that you think
+<em>might</em> go in that square.
+<p>
+You can rearrange the order of elements in the rows and columns by
+dragging the column or row headings back and forth. (The rows and
+columns will stay in sync with each other.) Also,
+left-clicking <em>between</em> two row or column headings will add or
+remove a thick line between those two rows and the corresponding pair
+of columns (which is useful if you're considering a subgroup and its
+cosets).