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