Status on 17.10.07 RAP First two batches of programs - st01-8 - nearing completion, st07 generating in the wrong order. st07 should only add a relator if it is the smallest from its rotations *and* *inversions. st07 should only add relators that do not cyclically cancel. Test extract blimp when blimp does not exist. Documentation (austere!) st01 input output [make internal presentation] st02 input changed unchanged [menagerie (rels length 2 or less)] st03 anynumberofinputs output [concatenate] st04 input len2found changed unchanged [very easy deductions] st05 inp1 inp2 inp1xinp2 [free product] st06 (-c or -i) input output [triangle permute generators] st07 input output [add a triangle relator] st08 input notetra tetra [tetrahedral deductions] First batch =========== ffmt specified up to blimp 6 and 100 (for now) Modules ------- blimp written seems to work alw written works on st04 nty Written works on st04 vkd written but specification not sorted out yet! Some test data available. Issues with first batch st02 and st04 do cyclic cancelling. Should this be a submodule? both currently cyclically cancel rather slowly st02 doesn't check for huge numbers of generators. What do you want st04 to do if the input group has a relator of length 2? 1) st04 in it's current implementation - if it can deduce a length 2 relator in 2 different ways, then it writes the length 2 relator to the output file twice. As "removing duplicates" is something that nty does, and nty can't work with relators of length 2, I guess removing these is a job for st02? 2) ALW seems to order things in a way that fits the spec but not what i would expect. It orders by first letter then by length, but it does so with the largest number being considered at the start of the alphabet. So rather than (as the spec says) as if every word was followed by an infinity of zeros, it behaves as if every number were followed by an infinity of infinities, though the ordering still works fine for nty. 4) The MAXTWORELS variable in st04 defines the amount of space allotted for storing length 1 and length 2 relators. If any more are discovered after this, the group is not changed. I'm tempted to write in something to just skip straight to writing out the group when this happens, but at the moment it just keeps deducing things and ignoring the results. Something to do under regression, i guess. Second batch ============ st06 tries all generator permutations on the blimp 6 relators to see if it can make an external presentation that is earlier than the one in blimp 2 using only relators less than the one in blimp 100, and if so the group is discarded. It takes a -c or -i flag. st07 outputs all groups with one more relator added, which must be larger than the top one. st08 makes all relators that hold up to a given (argv) length, and if it deduces any length 3 relators, puts them into blimp 6. The the relators of blimp 6 are always the len-z-lex earliest from the rotations and inversions of any given relator, and only relators of length 3 are included. None of the above programs has any notion of barter so far.