Bob is big. Bob is blue. Bob is furry. Bob is green. Bob is nice. Bob is quiet. Dave is blue. Dave is green. Dave is round. Erin is blue. Erin is quiet. Erin is round. If something is furry and round then it is blue. Green, blue things are quiet. If something is big then it is round. If Erin is quiet and Erin is round then Erin is green. Furry, round things are green. If something is round then it is blue.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is round.
("Dave" "is" "round" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is round.
("Erin" "is" "round" "+")
If something is furry and round then it is blue.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
Green, blue things are quiet.
((("something" "is" "green" "+") ("something" "is" "blue" "+")) -> ("something" "is" "quiet" "+"))
If something is big then it is round.
((("something" "is" "big" "+")) -> ("something" "is" "round" "+"))
If Erin is quiet and Erin is round then Erin is green.
((("Erin" "is" "quiet" "+") ("Erin" "is" "round" "+")) -> ("Erin" "is" "green" "+"))
Furry, round things are green.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If something is round then it is blue.
((("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
Bob is blue.
True
1
proof
[(triple2 OR ((((triple1) -> rule3)) -> rule6) OR ((triple3 ((triple1) -> rule3)) -> rule1))]
("Bob" "is" "blue" "+")
triple2
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple3 ((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Erin is not blue.
False
1
inv-proof
[(triple10 OR ((triple12) -> rule6))]
("Erin" "is" "blue" "-")
triple10
((triple12) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is green.
True
3
proof
[(((triple11 triple12) -> rule4))]
("Erin" "is" "green" "+")
((triple11 triple12) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Bob is not round.
False
2
inv-proof
[(((triple1) -> rule3))]
("Bob" "is" "round" "-")
((triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Dave is not big.
Unknown
inv-random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "-")
Erin is big.
Unknown
random
[@0: Erin is big.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "big" "+")
Erin is not nice.
Unknown
inv-random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2 OR ((((triple1) -> rule3)) -> rule6) OR ((triple3 ((triple1) -> rule3)) -> rule1))] Bob is furry.[(triple3)] Bob is green.[(triple4 OR ((triple3 ((triple1) -> rule3)) -> rule5))] Bob is nice.[(triple5)] Bob is quiet.[(triple6 OR ((triple4 triple2) -> rule2) OR ((triple4 ((((triple1) -> rule3)) -> rule6)) -> rule2) OR ((triple4 ((triple3 ((triple1) -> rule3)) -> rule1)) -> rule2) OR ((((triple3 ((triple1) -> rule3)) -> rule5) triple2) -> rule2) OR ((((triple3 ((triple1) -> rule3)) -> rule5) ((((triple1) -> rule3)) -> rule6)) -> rule2) OR ((((triple3 ((triple1) -> rule3)) -> rule5) ((triple3 ((triple1) -> rule3)) -> rule1)) -> rule2))] Dave is blue.[(triple7 OR ((triple9) -> rule6))] Dave is green.[(triple8)] Dave is round.[(triple9)] Erin is blue.[(triple10 OR ((triple12) -> rule6))] Erin is quiet.[(triple11)] Erin is round.[(triple12)] @1: Bob is round.[(((triple1) -> rule3))] Dave is quiet.[(((triple8 triple7) -> rule2) OR ((triple8 ((triple9) -> rule6)) -> rule2))] Erin is green.[(((triple11 triple12) -> rule4))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple3 ((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
triple3
Bob is green.
("Bob" "is" "green" "+")
triple4
((triple3 ((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
triple5
Bob is quiet.
("Bob" "is" "quiet" "+")
triple6
((triple4 triple2) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((triple4 ((((triple1) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((triple4 ((triple3 ((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple3 ((triple1) -> (rule3 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple3 ((triple1) -> (rule3 % int4))) -> (rule5 % int3)) ((((triple1) -> (rule3 % int4))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((triple3 ((triple1) -> (rule3 % int4))) -> (rule5 % int3)) ((triple3 ((triple1) -> (rule3 % int4))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Dave is blue.
("Dave" "is" "blue" "+")
triple7
((triple9) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple8
Dave is round.
("Dave" "is" "round" "+")
triple9
Erin is blue.
("Erin" "is" "blue" "+")
triple10
((triple12) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
triple11
Erin is round.
("Erin" "is" "round" "+")
triple12
Bob is round.
("Bob" "is" "round" "+")
((triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple8 triple7) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple8 ((triple9) -> (rule6 % int2))) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((triple11 triple12) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1