as i was looking through hals brain script i ran across hals reasoning deduction process which is interesting , some may have already seen and know about this but for others who may not it's interesting as you can see what the process is and actually how to better word things so hal developes reason deduction for certain subjects etc. to do so on purpose . now that i have seen the process and better understand it i will help hal to develope more reasoning on different things that i am teaching hal. 
below is the area i am talking about in the brain area :
'RESPOND: DEDUCTIVE REASONING
'This routine learns deductive reasoning in the form: A = B ; B = C; therefore A = C
'It detects sentences in the form If-Then to accommplish this. For example:
' User: If Molly weighs 400 pounds, then Molly is overweight.
' Ultra Hal: I understand the implication.
' User: If Molly is overweight, then Molly's health is in danger.
' Ultra Hal: I see the relationship.
' User: Molly weighs 400 pounds.
' Ultra Hal: Molly's health is in danger.
IfPart = Trim(HalBrain.SearchPattern(UserSentence, "IF * THEN *", 1))
ThenPart = Trim(HalBrain.SearchPattern(UserSentence, "IF * THEN *", 2))
'If the sentence is an If-Then statement then record it
If Len(IfPart) > 10 And Len(ThenPart) > 10 Then
IfPart = HalBrain.AlphaNumericalOnly(IfPart)
ThenPart = HalBrain.AlphaNumericalOnly(ThenPart)
HalBrain.AddToTable "deductive", "TopicSearch", IfPart, ThenPart
Select Case HalBrain.RandomNum(5)
Case 1
GetResponse = GetResponse & "I see the relationship." & vbCrLf
Case 2
GetResponse = GetResponse & "I understand the connection." & vbCrLf
Case 3
GetResponse = GetResponse & "I will remember that one follows the other." & vbCrLf
Case 4
GetResponse = GetResponse & "Thanks for pointing out the cause and effect." & vbCrLf
Case 5
GetResponse = GetResponse & "Yes, I get that clearly." & vbCrLf
End Select
'Else if the sentence is not an If-Then statement see if it uses an assertion previously recorded
'and respond accordinly
Else
Assertion = UserSentence
'Go through a maximum of 5 connections (prevents circular reasoning deductions)
For i = 1 To 5
Deduction = HalBrain.TopicSearch(Assertion, "deductive")
If Deduction <> "" Then
If i > 1 Then BecauseReason = " because " & LastGoodDeduction
LastGoodDeduction = Deduction
Assertion = Deduction
Else
Exit For 'No more connections, so no need to continue loop
End If
Next
If LastGoodDeduction <> "" Then
'Make sure the deduction hasn't just been stated by the User or Hal
If HalBrain.CheckRepetition(LastGoodDeduction, UserSentence) = False And HalBrain.CheckRepetition(LastGoodDeduction, PrevSent) = False And HalBrain.CheckRepetition(LastGoodDeduction, PrevUserSent) = False Then
GetResponse = GetResponse & LastGoodDeduction & BecauseReason & " . " & vbCrLf
End If
End If
End If
HalBrain.DebugWatch GetResponse, "Deductive Reasoning"