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