Bob is cold. Bob is nice. Bob is not red. Bob is smart. Bob is young. Erin is cold. Erin is green. Erin is not kind. Erin is nice. Erin is red. Erin is smart. Erin is young. All nice things are smart. If something is cold and not red then it is smart. All green, nice things are young. If Erin is not green then Erin is nice. If something is cold and not nice then it is kind. Young things are not kind. If Erin is not cold then Erin is not smart. If Erin is cold and Erin is not nice then Erin is smart.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is not red.
("Bob" "is" "red" "-")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is not kind.
("Erin" "is" "kind" "-")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
All nice things are smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
If something is cold and not red then it is smart.
((("something" "is" "cold" "+") ("something" "is" "red" "~")) -> ("something" "is" "smart" "+"))
All green, nice things are young.
((("something" "is" "green" "+") ("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
If Erin is not green then Erin is nice.
((("Erin" "is" "green" "~")) -> ("Erin" "is" "nice" "+"))
If something is cold and not nice then it is kind.
((("something" "is" "cold" "+") ("something" "is" "nice" "~")) -> ("something" "is" "kind" "+"))
Young things are not kind.
((("something" "is" "young" "+")) -> ("something" "is" "kind" "-"))
If Erin is not cold then Erin is not smart.
((("Erin" "is" "cold" "~")) -> ("Erin" "is" "smart" "-"))
If Erin is cold and Erin is not nice then Erin is smart.
((("Erin" "is" "cold" "+") ("Erin" "is" "nice" "~")) -> ("Erin" "is" "smart" "+"))
Erin is young.
True
1
proof
[(triple12 OR ((triple7 triple9) -> rule3))]
("Erin" "is" "young" "+")
triple12
((triple7 triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is not smart.
False
1
inv-proof
[(triple11 OR ((triple9) -> rule1))]
("Erin" "is" "smart" "-")
triple11
((triple9) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Bob is not kind.
True
2
proof
[(((triple5) -> rule6))]
("Bob" "is" "kind" "-")
((triple5) -> (rule6 % int1))
Bob is not kind.
("Bob" "is" "kind" "-")
int1
Bob is kind.
False
2
inv-proof
[(((triple5) -> rule6))]
("Bob" "is" "kind" "+")
((triple5) -> (rule6 % int1))
Bob is not kind.
("Bob" "is" "kind" "-")
int1
@0: Bob is cold.[(triple1)] Bob is nice.[(triple2)] Bob is not red.[(triple3)] Bob is smart.[(triple4 OR ((triple2) -> rule1) OR ((triple1 triple3) -> rule2))] Bob is young.[(triple5)] Erin is cold.[(triple6)] Erin is green.[(triple7)] Erin is nice.[(triple9)] Erin is not kind.[(triple8 OR ((triple12) -> rule6) OR ((((triple7 triple9) -> rule3)) -> rule6))] Erin is red.[(triple10)] Erin is smart.[(triple11 OR ((triple9) -> rule1))] Erin is young.[(triple12 OR ((triple7 triple9) -> rule3))] @1: Bob is not kind.[(((triple5) -> rule6))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is not red.
("Bob" "is" "red" "-")
triple3
Bob is smart.
("Bob" "is" "smart" "+")
triple4
((triple2) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((triple1 triple3) -> (rule2 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple5
Erin is cold.
("Erin" "is" "cold" "+")
triple6
Erin is green.
("Erin" "is" "green" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
triple9
Erin is not kind.
("Erin" "is" "kind" "-")
triple8
((triple12) -> (rule6 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
((((triple7 triple9) -> (rule3 % int2))) -> (rule6 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple10
Erin is smart.
("Erin" "is" "smart" "+")
triple11
((triple9) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
triple12
((triple7 triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Bob is not kind.
("Bob" "is" "kind" "-")
((triple5) -> (rule6 % int1))
Bob is not kind.
("Bob" "is" "kind" "-")
int1