Bob is big. Bob is blue. Bob is kind. Bob is quiet. Bob is red. Bob is round. Fiona is big. Fiona is kind. Fiona is quiet. Fiona is red. Harry is big. Harry is blue. Harry is quiet. Harry is red. Harry is round. Harry is white. If Bob is big then Bob is quiet. All blue people are round. If Harry is kind then Harry is round. Kind, blue people are red. If someone is kind then they are blue. If someone is quiet and blue then they are round.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is white.
("Harry" "is" "white" "+")
If Bob is big then Bob is quiet.
((("Bob" "is" "big" "+")) -> ("Bob" "is" "quiet" "+"))
All blue people are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If Harry is kind then Harry is round.
((("Harry" "is" "kind" "+")) -> ("Harry" "is" "round" "+"))
Kind, blue people are red.
((("someone" "is" "kind" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "red" "+"))
If someone is kind then they are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is quiet and blue then they are round.
((("someone" "is" "quiet" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
Fiona is red.
True
1
proof
[(triple10 OR ((triple8 ((triple8) -> rule5)) -> rule4))]
("Fiona" "is" "red" "+")
triple10
((triple8 ((triple8) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Harry is not white.
False
1
inv-proof
[(triple16)]
("Harry" "is" "white" "-")
triple16
Fiona is blue.
True
2
proof
[(((triple8) -> rule5))]
("Fiona" "is" "blue" "+")
((triple8) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is not blue.
False
2
inv-proof
[(((triple8) -> rule5))]
("Fiona" "is" "blue" "-")
((triple8) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Bob is not white.
Unknown
inv-random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "-")
Harry is kind.
Unknown
random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2 OR ((triple3) -> rule5))] Bob is kind.[(triple3)] Bob is quiet.[(triple4 OR ((triple1) -> rule1))] Bob is red.[(triple5 OR ((triple3 triple2) -> rule4) OR ((triple3 ((triple3) -> rule5)) -> rule4))] Bob is round.[(triple6 OR ((triple2) -> rule2) OR ((triple4 triple2) -> rule6) OR ((((triple3) -> rule5)) -> rule2) OR ((triple4 ((triple3) -> rule5)) -> rule6) OR ((((triple1) -> rule1) triple2) -> rule6) OR ((((triple1) -> rule1) ((triple3) -> rule5)) -> rule6))] Fiona is big.[(triple7)] Fiona is kind.[(triple8)] Fiona is quiet.[(triple9)] Fiona is red.[(triple10 OR ((triple8 ((triple8) -> rule5)) -> rule4))] Harry is big.[(triple11)] Harry is blue.[(triple12)] Harry is quiet.[(triple13)] Harry is red.[(triple14)] Harry is round.[(triple15 OR ((triple12) -> rule2) OR ((triple13 triple12) -> rule6))] Harry is white.[(triple16)] @1: Fiona is blue.[(((triple8) -> rule5))] @2: Fiona is round.[(((((triple8) -> rule5)) -> rule2) OR ((triple9 ((triple8) -> rule5)) -> rule6))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple3) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((triple1) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple5
((triple3 triple2) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple3 ((triple3) -> (rule5 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
triple6
((triple2) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple4 triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((triple4 ((triple3) -> (rule5 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple1) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((triple1) -> (rule1 % int3)) ((triple3) -> (rule5 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
triple7
Fiona is kind.
("Fiona" "is" "kind" "+")
triple8
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple9
Fiona is red.
("Fiona" "is" "red" "+")
triple10
((triple8 ((triple8) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
triple11
Harry is blue.
("Harry" "is" "blue" "+")
triple12
Harry is quiet.
("Harry" "is" "quiet" "+")
triple13
Harry is red.
("Harry" "is" "red" "+")
triple14
Harry is round.
("Harry" "is" "round" "+")
triple15
((triple12) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple13 triple12) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple16
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple8) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((((triple8) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((triple9 ((triple8) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2