Bob is not cold. Bob is furry. Bob is nice. Bob is rough. Charlie is cold. Charlie is furry. Harry is not cold. Harry is not furry. Harry is nice. Harry is rough. If someone is cold and rough then they are round. If someone is rough then they are smart. If Bob is rough then Bob is big. Cold people are rough. Furry, big people are nice. Smart people are big. All smart people are big. If someone is round and not smart then they are big.
Bob is not cold.
("Bob" "is" "cold" "-")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Harry is not cold.
("Harry" "is" "cold" "-")
Harry is not furry.
("Harry" "is" "furry" "-")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If someone is cold and rough then they are round.
((("someone" "is" "cold" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
If someone is rough then they are smart.
((("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
If Bob is rough then Bob is big.
((("Bob" "is" "rough" "+")) -> ("Bob" "is" "big" "+"))
Cold people are rough.
((("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "+"))
Furry, big people are nice.
((("someone" "is" "furry" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
Smart people are big.
((("someone" "is" "smart" "+")) -> ("someone" "is" "big" "+"))
All smart people are big.
((("someone" "is" "smart" "+")) -> ("someone" "is" "big" "+"))
If someone is round and not smart then they are big.
((("someone" "is" "round" "+") ("someone" "is" "smart" "~")) -> ("someone" "is" "big" "+"))
Harry is not furry.
True
1
proof
[(triple8)]
("Harry" "is" "furry" "-")
triple8
Harry is not rough.
False
1
inv-proof
[(triple10)]
("Harry" "is" "rough" "-")
triple10
Bob is smart.
True
2
proof
[(((triple4) -> rule2))]
("Bob" "is" "smart" "+")
((triple4) -> (rule2 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is not smart.
False
2
inv-proof
[(((triple4) -> rule2))]
("Bob" "is" "smart" "-")
((triple4) -> (rule2 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Harry is big.
True
3
proof
[(((((triple10) -> rule2)) -> rule6) OR ((((triple10) -> rule2)) -> rule7))]
("Harry" "is" "big" "+")
((((triple10) -> (rule2 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple10) -> (rule2 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Charlie is not smart.
False
3
inv-proof
[(((((triple5) -> rule4)) -> rule2))]
("Charlie" "is" "smart" "-")
((((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is big.
True
4
proof
[(((((((triple5) -> rule4)) -> rule2)) -> rule6) OR ((((((triple5) -> rule4)) -> rule2)) -> rule7))]
("Charlie" "is" "big" "+")
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is not big.
False
4
inv-proof
[(((((((triple5) -> rule4)) -> rule2)) -> rule6) OR ((((((triple5) -> rule4)) -> rule2)) -> rule7))]
("Charlie" "is" "big" "-")
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Bob is not round.
Unknown
inv-rconc
[@1: Bob is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "round" "-")
Harry is round.
Unknown
rconc
[@1: Harry is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "round" "+")
@0: Bob is furry.[(triple2)] Bob is nice.[(triple3 OR ((triple2 ((triple4) -> rule3)) -> rule5) OR ((triple2 ((((triple4) -> rule2)) -> rule6)) -> rule5) OR ((triple2 ((((triple4) -> rule2)) -> rule7)) -> rule5))] Bob is not cold.[(triple1)] Bob is rough.[(triple4)] Charlie is cold.[(triple5)] Charlie is furry.[(triple6)] Harry is nice.[(triple9)] Harry is not cold.[(triple7)] Harry is not furry.[(triple8)] Harry is rough.[(triple10)] @1: Bob is big.[(((triple4) -> rule3) OR ((((triple4) -> rule2)) -> rule6) OR ((((triple4) -> rule2)) -> rule7))] Bob is smart.[(((triple4) -> rule2))] Charlie is rough.[(((triple5) -> rule4))] Harry is smart.[(((triple10) -> rule2))] @2: Charlie is round.[(((triple5 ((triple5) -> rule4)) -> rule1))] Charlie is smart.[(((((triple5) -> rule4)) -> rule2))] Harry is big.[(((((triple10) -> rule2)) -> rule6) OR ((((triple10) -> rule2)) -> rule7))] @3: Charlie is big.[(((((((triple5) -> rule4)) -> rule2)) -> rule6) OR ((((((triple5) -> rule4)) -> rule2)) -> rule7))] @4: Charlie is nice.[(((triple6 ((((((triple5) -> rule4)) -> rule2)) -> rule6)) -> rule5) OR ((triple6 ((((((triple5) -> rule4)) -> rule2)) -> rule7)) -> rule5))]
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is nice.
("Bob" "is" "nice" "+")
triple3
((triple2 ((triple4) -> (rule3 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((triple2 ((((triple4) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((triple2 ((((triple4) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is not cold.
("Bob" "is" "cold" "-")
triple1
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Charlie is cold.
("Charlie" "is" "cold" "+")
triple5
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
Harry is nice.
("Harry" "is" "nice" "+")
triple9
Harry is not cold.
("Harry" "is" "cold" "-")
triple7
Harry is not furry.
("Harry" "is" "furry" "-")
triple8
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Bob is big.
("Bob" "is" "big" "+")
((triple4) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((triple4) -> (rule2 % int2))) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple4) -> (rule2 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
((triple4) -> (rule2 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple5) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple10) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((triple5 ((triple5) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
((((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
((((triple10) -> (rule2 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple10) -> (rule2 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple6 ((((((triple5) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
((triple6 ((((((triple5) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4