Bob is cold. Bob is furry. Bob is green. Bob is kind. Bob is quiet. Bob is rough. Bob is smart. Charlie is cold. Charlie is furry. Charlie is green. Charlie is kind. Charlie is quiet. Charlie is rough. Charlie is smart. All furry, kind things are green. If Charlie is rough and Charlie is green then Charlie is quiet. Rough things are quiet. All rough, smart things are kind. If Bob is quiet then Bob is furry. If Charlie is cold then Charlie is kind. If something is green and quiet then it is kind. Furry, rough things are quiet.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
All furry, kind things are green.
((("something" "is" "furry" "+") ("something" "is" "kind" "+")) -> ("something" "is" "green" "+"))
If Charlie is rough and Charlie is green then Charlie is quiet.
((("Charlie" "is" "rough" "+") ("Charlie" "is" "green" "+")) -> ("Charlie" "is" "quiet" "+"))
Rough things are quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
All rough, smart things are kind.
((("something" "is" "rough" "+") ("something" "is" "smart" "+")) -> ("something" "is" "kind" "+"))
If Bob is quiet then Bob is furry.
((("Bob" "is" "quiet" "+")) -> ("Bob" "is" "furry" "+"))
If Charlie is cold then Charlie is kind.
((("Charlie" "is" "cold" "+")) -> ("Charlie" "is" "kind" "+"))
If something is green and quiet then it is kind.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
Furry, rough things are quiet.
((("something" "is" "furry" "+") ("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Bob is furry.
True
1
proof
[(triple2 OR ((triple5) -> rule5) OR ((((triple6) -> rule3)) -> rule5))]
("Bob" "is" "furry" "+")
triple2
((triple5) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is not rough.
False
1
inv-proof
[(triple6)]
("Bob" "is" "rough" "-")
triple6
@0: Bob is cold.[(triple1)] Bob is furry.[(triple2 OR ((triple5) -> rule5) OR ((((triple6) -> rule3)) -> rule5))] Bob is green.[(triple3 OR ((triple2 triple4) -> rule1) OR ((triple2 ((triple6 triple7) -> rule4)) -> rule1) OR ((((triple5) -> rule5) triple4) -> rule1) OR ((((triple5) -> rule5) ((triple6 triple7) -> rule4)) -> rule1) OR ((((((triple6) -> rule3)) -> rule5) triple4) -> rule1) OR ((((((triple6) -> rule3)) -> rule5) ((triple6 triple7) -> rule4)) -> rule1))] Bob is kind.[(triple4 OR ((triple3 triple5) -> rule7) OR ((triple6 triple7) -> rule4) OR ((triple3 ((triple6) -> rule3)) -> rule7) OR ((triple3 ((triple2 triple6) -> rule8)) -> rule7))] Bob is quiet.[(triple5 OR ((triple6) -> rule3) OR ((triple2 triple6) -> rule8))] Bob is rough.[(triple6)] Bob is smart.[(triple7)] Charlie is cold.[(triple8)] Charlie is furry.[(triple9)] Charlie is green.[(triple10 OR ((triple9 triple11) -> rule1) OR ((triple9 ((triple8) -> rule6)) -> rule1) OR ((triple9 ((triple13 triple14) -> rule4)) -> rule1))] Charlie is kind.[(triple11 OR ((triple8) -> rule6) OR ((triple10 triple12) -> rule7) OR ((triple13 triple14) -> rule4) OR ((triple10 ((triple13) -> rule3)) -> rule7) OR ((triple10 ((triple13 triple10) -> rule2)) -> rule7) OR ((triple10 ((triple9 triple13) -> rule8)) -> rule7))] Charlie is quiet.[(triple12 OR ((triple13) -> rule3) OR ((triple13 triple10) -> rule2) OR ((triple9 triple13) -> rule8) OR ((triple13 ((triple9 triple11) -> rule1)) -> rule2) OR ((triple13 ((triple9 ((triple8) -> rule6)) -> rule1)) -> rule2) OR ((triple13 ((triple9 ((triple13 triple14) -> rule4)) -> rule1)) -> rule2))] Charlie is rough.[(triple13)] Charlie is smart.[(triple14)]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple5) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple2 triple4) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple2 ((triple6 triple7) -> (rule4 % int2))) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple5) -> (rule5 % int2)) triple4) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple5) -> (rule5 % int3)) ((triple6 triple7) -> (rule4 % int2))) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((triple6) -> (rule3 % int3))) -> (rule5 % int2)) triple4) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((((((triple6) -> (rule3 % int4))) -> (rule5 % int3)) ((triple6 triple7) -> (rule4 % int2))) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is kind.
("Bob" "is" "kind" "+")
triple4
((triple3 triple5) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple6 triple7) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple3 ((triple6) -> (rule3 % int2))) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((triple3 ((triple2 triple6) -> (rule8 % int2))) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple5
((triple6) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((triple2 triple6) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
triple6
Bob is smart.
("Bob" "is" "smart" "+")
triple7
Charlie is cold.
("Charlie" "is" "cold" "+")
triple8
Charlie is furry.
("Charlie" "is" "furry" "+")
triple9
Charlie is green.
("Charlie" "is" "green" "+")
triple10
((triple9 triple11) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((triple9 ((triple8) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple9 ((triple13 triple14) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple11
((triple8) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple10 triple12) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple13 triple14) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple10 ((triple13) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((triple10 ((triple13 triple10) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((triple10 ((triple9 triple13) -> (rule8 % int2))) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple12
((triple13) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple13 triple10) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple9 triple13) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple13 ((triple9 triple11) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
((triple13 ((triple9 ((triple8) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((triple13 ((triple9 ((triple13 triple14) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple13
Charlie is smart.
("Charlie" "is" "smart" "+")
triple14