[Richard Suchenwirth] 2002-11-10 - In the beginning there are Tohu (T) and Vohu (V): two very little things ("rishons" because they're the first (Hebrew)), of which T has an electric charge of 1/3 and V has none. And, as symmetry goes, there are also their anti-rishons - conventionally written with a bar over the abbreviation letter, but I use lowercase for easy keyboard input: t (with -1/3 charge) and v. Rishons (and anti-rishons) always come in groups of three, and if order doesn't matter, we have four distinct triplets of each: Rishons: TTT, TTV, TVV, VVV; anti-rishons: ttt, ttv, tvv, vvv Now let's enter the realm of elementary particles (for which a language named Tcl may have some uses ;-), which come in three weight classes: light, medium, and heavy (or scholarly Greek: Leptons, Mesons, Baryons). The particular theory that I'm retelling here says that '''leptons''' consist of just one Rishon triplet, if their charges sum up to an integer: ttt -1 e- Electron (finally, an old acquaintance...) VVV 0 ve e-Neutrino TTT 1 p Positron vvv 0 -ve Electron anti-neutrino The other four have fractional charge sums, and thus can only be used as building blocks for bigger structures, the so-called '''quarks''' (and the complementing anti-quarks): TTV +2/3 u u-Quark ("up") tvv -1/3 d d-Quark ("down") TVV +1/3 -d Anti-d ttv -2/3 -u anti-u There are more quarks postulated, with names like "charm", "strange", "top", "bottom", but my physics book didn't tell me how they map to rishons... '''Mesons''' (middle-weight particles - although D-mesons are double as "heavy" as neutrons) consist of one quark and one anti-quark, and also sum up to an integer charge, here demonstrated on "Pions": u-u 0 pi0 u-d 1 pi+ d-u -1 pi- The really heavy guys, '''Baryons''', are made up of three quarks, or three anti-quarks, and here we meet old acquaintances again: uud 1 p Proton -u-u-d -1 p- Antiproton udd 0 n Neutron Neutrons and protons make up most of all matter. The bad news is that neutrons don't survive long in freedom - typically after 932 seconds (~15 min), the following happens: n -> p + e- + -ve The neutron turns into a proton, emitting an electron and an electron anti-neutrino (please pardon my typography - originally there are bars over anti-particles, Greek letter ''nu'' where I put the v, and subscripts). Expressed in terms of quarks, the above becomes udd -> uud + e- + -ve Or, back to rishons from where we started, the change is only in the second "d" quark, so in rishons that makes: tvv -> TTV + ttt + vvv Finally, enter Tcl. Such process descriptions are strings, and Tcl is particularly (if you excuse the pun) good at strings. Here's some code to check whether a process abides by the Rules (which I don't know all, but two are: * at one time you may add a rishon and its anti-rishon, e.g. Tt * the end result must be a valid set of rishon triplets.) Instead of inserting rishons, I start backward by removing matching rishon/anti-rishons from the postulated result, and see whether we get back to the start. But first, some helper routines:} proc rishon'charge rishons { # computes the electric charge of a rishon triplet expr [string map {T +1./3 V "" t -1./3 v ""} $rishons+0] } proc rishon'translate rishons { # turn a rishon sequence to more conventional particle names set tmp [string map { TTT e+ TTV u TVV -d VVV ve ttt e- ttv -u tvv d vvv -ve } $rishons] string map { uud p -u-u-d p- udd n u-u pi0 u-d pi+ d-u pi- } $tmp } proc rishon'reduce formula { regsub -all {[^TtVv]} $formula "" rishons set rishons [split $rishons ""] ;# turn into a rishon list while {[has T $rishons] && [has t $rishons]} { lremove rishons T lremove rishons t } while {[has V $rishons] && [has v $rishons]} { lremove rishons V lremove rishons v } regsub -all (...) [join [lsort $rishons] ""] {\1 } res ;# group triplets set res } proc has {element list} {expr {[lsearch $list $element]>=0}} proc lremove {listVar element} { upvar 1 $listVar list set pos [lsearch $list $element] set list [lreplace $list $pos $pos] } if 0 {Testing: % rishon'reduce {TTV + ttt + vvv} tvv ;# so the neutron decomposition appears well-formed % rishon'reduce {ttv + TVV + TTT} TTV The latter case is controversial: it describes (backward) how a proton decomposes into a pair of Pi-mesons and a positron - which violates the rule that the number of baryons should remain constant. I can't tell - particle experts, please comment (also on "superstrings", which sound as if they may be food for Tcl too...) ---- [Arts and crafts of Tcl-Tk programming] }