Charlie is red. If something is blue then it is nice. If Charlie is furry then Charlie is rough. If something is furry then it is blue. If something is rough and furry then it is white. If something is red then it is furry. Furry, rough things are nice.
Charlie is red.
("Charlie" "is" "red" "+")
If something is blue then it is nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If Charlie is furry then Charlie is rough.
((("Charlie" "is" "furry" "+")) -> ("Charlie" "is" "rough" "+"))
If something is furry then it is blue.
((("something" "is" "furry" "+")) -> ("something" "is" "blue" "+"))
If something is rough and furry then it is white.
((("something" "is" "rough" "+") ("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
If something is red then it is furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Furry, rough things are nice.
((("something" "is" "furry" "+") ("something" "is" "rough" "+")) -> ("something" "is" "nice" "+"))
Charlie is red.
True
1
proof
[(triple1)]
("Charlie" "is" "red" "+")
triple1
Charlie is not red.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "red" "-")
triple1
Charlie is furry.
True
2
proof
[(((triple1) -> rule5))]
("Charlie" "is" "furry" "+")
((triple1) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is not furry.
False
2
inv-proof
[(((triple1) -> rule5))]
("Charlie" "is" "furry" "-")
((triple1) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
True
3
proof
[(((((triple1) -> rule5)) -> rule3))]
("Charlie" "is" "blue" "+")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is not rough.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule2))]
("Charlie" "is" "rough" "-")
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
@0: Charlie is red.[(triple1)] @1: Charlie is furry.[(((triple1) -> rule5))] @2: Charlie is blue.[(((((triple1) -> rule5)) -> rule3))] Charlie is rough.[(((((triple1) -> rule5)) -> rule2))] @3: Charlie is nice.[(((((((triple1) -> rule5)) -> rule3)) -> rule1) OR ((((triple1) -> rule5) ((((triple1) -> rule5)) -> rule2)) -> rule6))] Charlie is white.[(((((((triple1) -> rule5)) -> rule2) ((triple1) -> rule5)) -> rule4))]
Charlie is red.
("Charlie" "is" "red" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple1) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((((((triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((triple1) -> (rule5 % int3)) ((((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
((((((triple1) -> (rule5 % int3))) -> (rule2 % int2)) ((triple1) -> (rule5 % int3))) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3