Charlie is blue. Charlie is cold. Charlie is furry. Charlie is red. Charlie is young. Erin is blue. Erin is cold. Erin is furry. Erin is red. Erin is white. All red, cold things are kind. If Erin is cold and Erin is kind then Erin is red. If Charlie is kind and Charlie is furry then Charlie is white.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is white.
("Erin" "is" "white" "+")
All red, cold things are kind.
((("something" "is" "red" "+") ("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
If Erin is cold and Erin is kind then Erin is red.
((("Erin" "is" "cold" "+") ("Erin" "is" "kind" "+")) -> ("Erin" "is" "red" "+"))
If Charlie is kind and Charlie is furry then Charlie is white.
((("Charlie" "is" "kind" "+") ("Charlie" "is" "furry" "+")) -> ("Charlie" "is" "white" "+"))
Charlie is young.
True
1
proof
[(triple5)]
("Charlie" "is" "young" "+")
triple5
Charlie is not furry.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "furry" "-")
triple3
Erin is kind.
True
3
proof
[(((triple9 triple7) -> rule1))]
("Erin" "is" "kind" "+")
((triple9 triple7) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Charlie is not kind.
False
3
inv-proof
[(((triple4 triple2) -> rule1))]
("Charlie" "is" "kind" "-")
((triple4 triple2) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is white.
True
5
proof
[(((((triple4 triple2) -> rule1) triple3) -> rule3))]
("Charlie" "is" "white" "+")
((((triple4 triple2) -> (rule1 % int2)) triple3) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is not white.
False
5
inv-proof
[(((((triple4 triple2) -> rule1) triple3) -> rule3))]
("Charlie" "is" "white" "-")
((((triple4 triple2) -> (rule1 % int2)) triple3) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
@0: Charlie is blue.[(triple1)] Charlie is cold.[(triple2)] Charlie is furry.[(triple3)] Charlie is red.[(triple4)] Charlie is young.[(triple5)] Erin is blue.[(triple6)] Erin is cold.[(triple7)] Erin is furry.[(triple8)] Erin is red.[(triple9)] Erin is white.[(triple10)] @1: Charlie is kind.[(((triple4 triple2) -> rule1))] Erin is kind.[(((triple9 triple7) -> rule1))] @2: Charlie is white.[(((((triple4 triple2) -> rule1) triple3) -> rule3))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Charlie is young.
("Charlie" "is" "young" "+")
triple5
Erin is blue.
("Erin" "is" "blue" "+")
triple6
Erin is cold.
("Erin" "is" "cold" "+")
triple7
Erin is furry.
("Erin" "is" "furry" "+")
triple8
Erin is red.
("Erin" "is" "red" "+")
triple9
Erin is white.
("Erin" "is" "white" "+")
triple10
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple4 triple2) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((triple9 triple7) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((((triple4 triple2) -> (rule1 % int2)) triple3) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2