Kasimir -- Münster's Logikevaluator Author: Rainer Glaschick, Paderborn Date: 2012-07-18 Quick translation 2021-01-15 without updating. This report provides an overview about the information about "Kasimir", the logic evaluator that G. Hasenjaeger made in Müster in view of "Stanislaus", F.L. Bauer's logic evaluator from Munich. Background ========== In 1987, Gisbert Hasenjaeger wrote [[Hasenjaeger1987]] that in the 1950s F.L. Bauer from Munich visited the "Logistisches Seminar" in Münster and reported on an electromechanical model for the parenthesis-free evaluation of logical expressions, upon which Hans Hermes suggested to build a similar machine in Münster: "H. HERMES suggested that I should make a specimen of STANISLAUS for our institute, and F.L. BAUER sent me a blueprint of his version. This plan was found some days ago in the legacy of G. Hasenjaeger; a scan is enclosed [[PlanStanislaus]]. Hasenjaeger wrote 1957 in a private letter [[Hasenjaeger1957]]: "... gerade ist der Stanislaus so weit fertig geworden, dass man ihn prüfen kann. Es fehlt für die 1. Vorführung nun noch die Platte, auf der die Einstellungen ablesbar sind. Und für die endgültige Form noch das automatische Durchspielen der Variablen. "... the Stanislaus has been finished so far, that it can be checked. For a first demonstration, the panel for reading the settings is missing. And for the final form the automatic check of the variables. In how far "Kasimir" was considered for the exhibition planned for 1988 in the "Deutsches Museum" in Munich, is still open. Bauer's Stanislaus ================== The machine is mostly described in F.L. Bauer's article of 1960 [[Bauer1960]]; this description seems to be sufficient to reconstruct the machine, even if some details havs still to be worked out. However, there is missing a connection in the article's schematics {conncction from '+' in the "evaluation" state left of relay 'K' to the base of the switches to set the variables}, yet it is contained in the original plan [[PlanStanislaus]]. Bauer's solution requires as many changeover contacts in the middle stages as there are terms. The solution uses in each stage as many inputs as there can be open terms on the right side, and determined by the switched kind of stage: - for a variable, its value is passed to the next stage, and the other values to the next higher output - for a unary operator, only the lowest input is processed, and all other passed unchanged, - for a binary operator, the two lowest inputs are joined to the lowest output, and the other inputs are passed shifted down by one position This corresponsds for stack memory pushing a variable and popping with a binary operator. The check function uses a different input, that, for a correct formula, must be applied to the output of the first stager ('10'). This check is independent from the evaluation; keeping them alternatively seems to have didactical reasons. Description of the circuit -------------------------- The schematics shows the stages '0' bis '10' with the relays 'A', 'B', 'X' und 'Y' each, and on the left hand side the switches for the input variables 'p', 'q', 'r', 's' und 't', the result circuit with relay 'K' and the two result indicators (red and yellow), the test indicator (blau), the switch to change between check ("Prüfen") and evaluate ("Auswerten"), and the power supply. It positive pole is connected with all relays and indictors for the variables, the negative pole via the keys for the term select with the 'A' and 'B' relays. In check mode the negative pole is fed in stage 0 as checks signal; relay 'A' is replaced directly by the input switches for the variables. In evaluate mode the negative pole is fed to the switches for the variables, the logical calculation circuits, and the switch over contact for the result indicators. In this case, the result is determined by relay 'K', and its changeover contact supplies one of the two result indicators. The labels for the four binary operators are: C: Conjunction D: Disjunction E: Equivalence I: Implication (In the second paragraph and in Fig. 3 of the article, 'K', 'A', 'E' und 'C' are used instead.) For each term, 11 mutally cancelling switches are used; the thus possible 11 term elements are: - neutral ('O') - negation ('N'), unary operator - four binary Operators - five variable values Except stages 0 and 1 each stage uses four relays, labelled 'A', 'B', 'X' and 'Y'. As stage 0 can provide only a variable, no relay is necessary. Stage 1 can only be a negation and is thus also simplified. Relay 'A' is active, if a variable is provided in the stage, and relay 'b' is active, if one of the (four used) binary operators is selected. Relays 'X' and 'Y' transmit the operands to the logical evaluation circuit. In the top row of the stages the contacts of the variable switches are shown, that, where applicable, activate relay 'A'. Below that a "bus" for the varable values is situated, that are connected via a second contact set to the output of the stage. Thereunder the combinational logic for the operators is shown, and again below the term relays 'X' and 'Y' controlled by changeover contacts from relays 'A' and 'B' under it. Relays 'A' and 'B' are controlled as follows: - if a variable, 'A' is active and 'B' inactive - if a unary operator, no one is active - if a binary operator, 'B' is active and 'A' inactive This means for 'X' and 'Y': - If a variable, 'X' and 'Y' are inactive, as the change contact from the active relay 'A' disconnects 'X' from the input. Thus, the combinatorial network delivers no current, so that a backlash to the variables is avoided. - If a unary operator, the lowest input controls 'X', and the output is controlled by the combinatorial network. - If a binary operator, additionally relay 'B' makes relay 'Y' use the second lowest input the second lowest input and transmits the higher inputs shifted by one. Hasenjaeger's Kasimir =================== Preserved is a nearly complete copy in a good shape ([[DR001]] und [[DR002]]), that was donated in 2011 by Frau Prof. Rödding (Münster), and an incomplete copy in a rather bad state, that has been detected in 2012 in the cellar of Hasenjaeger's house in Plettenberg [[GHKasimir]]. Opposed to "Stanislaus", switches with 10 positions are used, that select in combination with the flip switches above either a functor (left labels) or a variable (right labels). Thus, 8 instead of 5 Variables are possible. The provision of 'W' (Werman: "wahr" for true) and 'F' (German: "falsch" for false) is unclear. The symbols on the left side might be designates as follows: 0 0 1 1 x 0 1 0 1 y ----------- 0 0 0 0 F, contradiction ∧ 0 0 0 1 conjunction +> 0 0 1 0 negated implication 0 0 1 1 x <+ 0 1 0 0 <+> 0 1 1 0 anticoincidence ∨ 0 1 1 1 disjunction ̅∨ 1 0 0 0 negated disjunction <-> 1 0 0 1 equivalence 1 0 1 0 ¬y -> 1 0 1 1 implication 1 1 0 0 ¬x <- 1 1 0 1 conversion ̅∧ 1 1 1 0 negate conjunction 1 1 1 1 W, tautology By checking the connections, it must be verifided that a negation of a variable is not convered. With "Kasimir", only 9 (instead of 11 as with "Stanislaus") term are possible. Per term there are (as with "Stanislaus") 4 relays provided, but, as show below, in a different mode. With "Stanislaus", the number of contacts for the middle relays increases with the number of terms, so that multiple relays have to be used if needed. For the switches with 10 positions, rotary dials from the German Post had been disassembled and modified. The relays are "Flachrelais" of the German Post. For input and output, a separate unit [[DR002]] is used, perhaps in order to make the machine portable. This input unit has switches for the eigth variables `U_1` to `U_8`, and a changeover switch, to check the well-formedness of the formula or to show the result. The two relays in the background are presumably a clock generator. Also, a rotary switch is present, probably driven by the clock generator to provide a multi-phase clock. According to the above remark, combinations of variables can be generator; but no more than 5 variables are possible, as the rotaty switch has less than 64 positions. On the right side there is a multi pole connector with 20 contacts of equal kind as on the right side (of the main unit); a short-circuit plug connects contacts 14 and 15 (counted from left). Rotary switches ----------- The rotary switches are self-made from parts. They have two sets of 10 positions each. The marks in parenthesis are the colors of the connections; equal colors aren't surely connections, as colors are used more than once. The first (left)set has a common contact (sw), the others are: W F U8 U7 U6 U5 U4 U3 U2 U1 -- bl ge rt we ge bl ge rt we The right plan has 3 contacts and a common contact (we): 10 9 8 7 6 5 4 3 2 1 L rt -- -- -- rt we rt we rt ??? M -- ge rt bl ge -- rt ge we we R ge -- -- -- bl bl bl bl ge -- Relays ------- Hasenjaeger uses four relays per stage, with the following contacts: - 6xOn - 6xOn - 2xChange - 1xChange The two last ones form a tree, that connects the input according to the binary valence of the two activation wires to the four wires (noted as colors rt, we, ge, bl). Attachments ======= please see German version due to technical problems \CSS all dt { margin-top: 1em; } \ASCIIMATHML ASCIIMathML.js