func (f *reason) ShortCognize(saw faculty.Sentence) { if saw.At(0).Value() == nil || saw.At(1).Value() == nil { // If either of the two most recently updated valves are nil, inaction. return } switch saw.At(2).Valve() { // least recently updated valve, the one being computed case "Belief": f.x.ReCognize(tree.Explain(saw.AtAsTree("Theory"), saw.AtAsTree("Observation"))) case "Observation": f.x.ReCognize(tree.Predict(saw.AtAsTree("Belief"), saw.AtAsTree("Theory"))) case "Theory": f.x.ReCognize(tree.Generalize(saw.AtAsTree("Belief"), saw.AtAsTree("Observation"))) } panic(7) }