Charlie is kind. Charlie is rough. Fiona is cold. Fiona is furry. Fiona is green. Fiona is kind. Fiona is rough. Fiona is round. Fiona is smart. Gary is furry. Gary is green. Gary is kind. Gary is rough. Gary is round. Gary is smart. Rough things are furry. Rough, furry things are round. If Charlie is kind and Charlie is round then Charlie is cold. If Charlie is cold and Charlie is furry then Charlie is green. All cold, rough things are round. Green things are smart.
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Rough things are furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Rough, furry things are round.
((("something" "is" "rough" "+") ("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
If Charlie is kind and Charlie is round then Charlie is cold.
((("Charlie" "is" "kind" "+") ("Charlie" "is" "round" "+")) -> ("Charlie" "is" "cold" "+"))
If Charlie is cold and Charlie is furry then Charlie is green.
((("Charlie" "is" "cold" "+") ("Charlie" "is" "furry" "+")) -> ("Charlie" "is" "green" "+"))
All cold, rough things are round.
((("something" "is" "cold" "+") ("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
Green things are smart.
((("something" "is" "green" "+")) -> ("something" "is" "smart" "+"))
Gary is furry.
True
1
proof
[(triple10 OR ((triple13) -> rule1))]
("Gary" "is" "furry" "+")
triple10
((triple13) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not smart.
False
1
inv-proof
[(triple15 OR ((triple11) -> rule6))]
("Gary" "is" "smart" "-")
triple15
((triple11) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Charlie is furry.
True
2
proof
[(((triple2) -> rule1))]
("Charlie" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is not furry.
False
2
inv-proof
[(((triple2) -> rule1))]
("Charlie" "is" "furry" "-")
((triple2) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
True
4
proof
[(((triple2 ((triple2) -> rule1)) -> rule2))]
("Charlie" "is" "round" "+")
((triple2 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is not round.
False
4
inv-proof
[(((triple2 ((triple2) -> rule1)) -> rule2))]
("Charlie" "is" "round" "-")
((triple2 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
@0: Charlie is kind.[(triple1)] Charlie is rough.[(triple2)] Fiona is cold.[(triple3)] Fiona is furry.[(triple4 OR ((triple7) -> rule1))] Fiona is green.[(triple5)] Fiona is kind.[(triple6)] Fiona is rough.[(triple7)] Fiona is round.[(triple8 OR ((triple3 triple7) -> rule5) OR ((triple7 triple4) -> rule2) OR ((triple7 ((triple7) -> rule1)) -> rule2))] Fiona is smart.[(triple9 OR ((triple5) -> rule6))] Gary is furry.[(triple10 OR ((triple13) -> rule1))] Gary is green.[(triple11)] Gary is kind.[(triple12)] Gary is rough.[(triple13)] Gary is round.[(triple14 OR ((triple13 triple10) -> rule2) OR ((triple13 ((triple13) -> rule1)) -> rule2))] Gary is smart.[(triple15 OR ((triple11) -> rule6))] @1: Charlie is furry.[(((triple2) -> rule1))] @2: Charlie is round.[(((triple2 ((triple2) -> rule1)) -> rule2))] @3: Charlie is cold.[(((triple1 ((triple2 ((triple2) -> rule1)) -> rule2)) -> rule3))] @4: Charlie is green.[(((((triple1 ((triple2 ((triple2) -> rule1)) -> rule2)) -> rule3) ((triple2) -> rule1)) -> rule4))] @5: Charlie is smart.[(((((((triple1 ((triple2 ((triple2) -> rule1)) -> rule2)) -> rule3) ((triple2) -> rule1)) -> rule4)) -> rule6))]
Charlie is kind.
("Charlie" "is" "kind" "+")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
((triple7) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple5
Fiona is kind.
("Fiona" "is" "kind" "+")
triple6
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
Fiona is round.
("Fiona" "is" "round" "+")
triple8
((triple3 triple7) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple7 triple4) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple7 ((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
((triple5) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
triple10
((triple13) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
triple11
Gary is kind.
("Gary" "is" "kind" "+")
triple12
Gary is rough.
("Gary" "is" "rough" "+")
triple13
Gary is round.
("Gary" "is" "round" "+")
triple14
((triple13 triple10) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((triple13 ((triple13) -> (rule1 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple15
((triple11) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((triple2 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple1 ((triple2 ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
((((triple1 ((triple2 ((triple2) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) ((triple2) -> (rule1 % int4))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
int4
Charlie is smart.
("Charlie" "is" "smart" "+")
((((((triple1 ((triple2 ((triple2) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3)) ((triple2) -> (rule1 % int5))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is furry.
("Charlie" "is" "furry" "+")
int5