Bob is big. Bob is blue. Bob is cold. Bob is quiet. Bob is rough. Bob is round. Dave is blue. Dave is quiet. Dave is rough. Harry is quiet. If something is big and cold then it is rough. Cold, smart things are rough. Blue things are smart. If something is blue and smart then it is cold. If something is quiet and round then it is smart. Round, smart things are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
If something is big and cold then it is rough.
((("something" "is" "big" "+") ("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
Cold, smart things are rough.
((("something" "is" "cold" "+") ("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
Blue things are smart.
((("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
If something is blue and smart then it is cold.
((("something" "is" "blue" "+") ("something" "is" "smart" "+")) -> ("something" "is" "cold" "+"))
If something is quiet and round then it is smart.
((("something" "is" "quiet" "+") ("something" "is" "round" "+")) -> ("something" "is" "smart" "+"))
Round, smart things are big.
((("something" "is" "round" "+") ("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
Dave is quiet.
True
1
proof
[(triple8)]
("Dave" "is" "quiet" "+")
triple8
Bob is not rough.
False
1
inv-proof
[(triple5 OR ((triple1 triple3) -> rule1) OR ((triple3 ((triple2) -> rule3)) -> rule2) OR ((triple3 ((triple4 triple6) -> rule5)) -> rule2) OR ((triple1 ((triple2 ((triple2) -> rule3)) -> rule4)) -> rule1) OR ((triple1 ((triple2 ((triple4 triple6) -> rule5)) -> rule4)) -> rule1) OR ((((triple6 ((triple2) -> rule3)) -> rule6) triple3) -> rule1) OR ((((triple6 ((triple4 triple6) -> rule5)) -> rule6) triple3) -> rule1) OR ((((triple2 ((triple2) -> rule3)) -> rule4) ((triple2) -> rule3)) -> rule2) OR ((((triple2 ((triple2) -> rule3)) -> rule4) ((triple4 triple6) -> rule5)) -> rule2) OR ((((triple2 ((triple4 triple6) -> rule5)) -> rule4) ((triple2) -> rule3)) -> rule2) OR ((((triple2 ((triple4 triple6) -> rule5)) -> rule4) ((triple4 triple6) -> rule5)) -> rule2) OR ((((triple6 ((triple2) -> rule3)) -> rule6) ((triple2 ((triple2) -> rule3)) -> rule4)) -> rule1) OR ((((triple6 ((triple2) -> rule3)) -> rule6) ((triple2 ((triple4 triple6) -> rule5)) -> rule4)) -> rule1) OR ((((triple6 ((triple4 triple6) -> rule5)) -> rule6) ((triple2 ((triple2) -> rule3)) -> rule4)) -> rule1) OR ((((triple6 ((triple4 triple6) -> rule5)) -> rule6) ((triple2 ((triple4 triple6) -> rule5)) -> rule4)) -> rule1))]
("Bob" "is" "rough" "-")
triple5
((triple1 triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple3 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple3 ((triple4 triple6) -> (rule5 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple1 ((triple2 ((triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((triple1 ((triple2 ((triple4 triple6) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple6 ((triple2) -> (rule3 % int3))) -> (rule6 % int2)) triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple6 ((triple4 triple6) -> (rule5 % int3))) -> (rule6 % int2)) triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple2) -> (rule3 % int3))) -> (rule4 % int2)) ((triple2) -> (rule3 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple2) -> (rule3 % int3))) -> (rule4 % int2)) ((triple4 triple6) -> (rule5 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple4 triple6) -> (rule5 % int3))) -> (rule4 % int2)) ((triple2) -> (rule3 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple4 triple6) -> (rule5 % int3))) -> (rule4 % int2)) ((triple4 triple6) -> (rule5 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple6 ((triple2) -> (rule3 % int4))) -> (rule6 % int3)) ((triple2 ((triple2) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple6 ((triple2) -> (rule3 % int4))) -> (rule6 % int3)) ((triple2 ((triple4 triple6) -> (rule5 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple6 ((triple4 triple6) -> (rule5 % int4))) -> (rule6 % int3)) ((triple2 ((triple2) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple6 ((triple4 triple6) -> (rule5 % int4))) -> (rule6 % int3)) ((triple2 ((triple4 triple6) -> (rule5 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Dave is smart.
True
2
proof
[(((triple7) -> rule3))]
("Dave" "is" "smart" "+")
((triple7) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is not smart.
False
2
inv-proof
[(((triple7) -> rule3))]
("Dave" "is" "smart" "-")
((triple7) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is cold.
True
4
proof
[(((triple7 ((triple7) -> rule3)) -> rule4))]
("Dave" "is" "cold" "+")
((triple7 ((triple7) -> (rule3 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is not cold.
False
4
inv-proof
[(((triple7 ((triple7) -> rule3)) -> rule4))]
("Dave" "is" "cold" "-")
((triple7 ((triple7) -> (rule3 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "big" "-")
Harry is big.
Unknown
rconc
[@1: Harry is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Harry" "is" "big" "+")
Harry is not cold.
Unknown
inv-rconc
[@1: Harry is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "cold" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
Harry is not blue.
Unknown
inv-random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "-")
Harry is round.
Unknown
random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "+")
@0: Bob is big.[(triple1 OR ((triple6 ((triple2) -> rule3)) -> rule6) OR ((triple6 ((triple4 triple6) -> rule5)) -> rule6))] Bob is blue.[(triple2)] Bob is cold.[(triple3 OR ((triple2 ((triple2) -> rule3)) -> rule4) OR ((triple2 ((triple4 triple6) -> rule5)) -> rule4))] Bob is quiet.[(triple4)] Bob is rough.[(triple5 OR ((triple1 triple3) -> rule1) OR ((triple3 ((triple2) -> rule3)) -> rule2) OR ((triple3 ((triple4 triple6) -> rule5)) -> rule2) OR ((triple1 ((triple2 ((triple2) -> rule3)) -> rule4)) -> rule1) OR ((triple1 ((triple2 ((triple4 triple6) -> rule5)) -> rule4)) -> rule1) OR ((((triple6 ((triple2) -> rule3)) -> rule6) triple3) -> rule1) OR ((((triple6 ((triple4 triple6) -> rule5)) -> rule6) triple3) -> rule1) OR ((((triple2 ((triple2) -> rule3)) -> rule4) ((triple2) -> rule3)) -> rule2) OR ((((triple2 ((triple2) -> rule3)) -> rule4) ((triple4 triple6) -> rule5)) -> rule2) OR ((((triple2 ((triple4 triple6) -> rule5)) -> rule4) ((triple2) -> rule3)) -> rule2) OR ((((triple2 ((triple4 triple6) -> rule5)) -> rule4) ((triple4 triple6) -> rule5)) -> rule2) OR ((((triple6 ((triple2) -> rule3)) -> rule6) ((triple2 ((triple2) -> rule3)) -> rule4)) -> rule1) OR ((((triple6 ((triple2) -> rule3)) -> rule6) ((triple2 ((triple4 triple6) -> rule5)) -> rule4)) -> rule1) OR ((((triple6 ((triple4 triple6) -> rule5)) -> rule6) ((triple2 ((triple2) -> rule3)) -> rule4)) -> rule1) OR ((((triple6 ((triple4 triple6) -> rule5)) -> rule6) ((triple2 ((triple4 triple6) -> rule5)) -> rule4)) -> rule1))] Bob is round.[(triple6)] Dave is blue.[(triple7)] Dave is quiet.[(triple8)] Dave is rough.[(triple9 OR ((((triple7 ((triple7) -> rule3)) -> rule4) ((triple7) -> rule3)) -> rule2))] Harry is quiet.[(triple10)] @1: Bob is smart.[(((triple2) -> rule3) OR ((triple4 triple6) -> rule5))] Dave is smart.[(((triple7) -> rule3))] @2: Dave is cold.[(((triple7 ((triple7) -> rule3)) -> rule4))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple6 ((triple2) -> (rule3 % int2))) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple6 ((triple4 triple6) -> (rule5 % int2))) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
((triple2 ((triple2) -> (rule3 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple2 ((triple4 triple6) -> (rule5 % int2))) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is rough.
("Bob" "is" "rough" "+")
triple5
((triple1 triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple3 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple3 ((triple4 triple6) -> (rule5 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple1 ((triple2 ((triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((triple1 ((triple2 ((triple4 triple6) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple6 ((triple2) -> (rule3 % int3))) -> (rule6 % int2)) triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple6 ((triple4 triple6) -> (rule5 % int3))) -> (rule6 % int2)) triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple2) -> (rule3 % int3))) -> (rule4 % int2)) ((triple2) -> (rule3 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple2) -> (rule3 % int3))) -> (rule4 % int2)) ((triple4 triple6) -> (rule5 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple4 triple6) -> (rule5 % int3))) -> (rule4 % int2)) ((triple2) -> (rule3 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((triple4 triple6) -> (rule5 % int3))) -> (rule4 % int2)) ((triple4 triple6) -> (rule5 % int3))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple6 ((triple2) -> (rule3 % int4))) -> (rule6 % int3)) ((triple2 ((triple2) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple6 ((triple2) -> (rule3 % int4))) -> (rule6 % int3)) ((triple2 ((triple4 triple6) -> (rule5 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple6 ((triple4 triple6) -> (rule5 % int4))) -> (rule6 % int3)) ((triple2 ((triple2) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple6 ((triple4 triple6) -> (rule5 % int4))) -> (rule6 % int3)) ((triple2 ((triple4 triple6) -> (rule5 % int4))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
triple6
Dave is blue.
("Dave" "is" "blue" "+")
triple7
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
Dave is rough.
("Dave" "is" "rough" "+")
triple9
((((triple7 ((triple7) -> (rule3 % int3))) -> (rule4 % int2)) ((triple7) -> (rule3 % int3))) -> (rule2 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
triple10
Bob is smart.
("Bob" "is" "smart" "+")
((triple2) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((triple4 triple6) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple7) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((triple7 ((triple7) -> (rule3 % int2))) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2