Bob is big. Bob is nice. Bob is quiet. Bob is red. Bob is smart. Bob is white. Charlie is big. Charlie is nice. Charlie is quiet. Charlie is smart. Charlie is white. Charlie is young. Erin is red. Erin is white. Erin is young. If Erin is white then Erin is big. If Charlie is white and Charlie is young then Charlie is big. If something is quiet then it is young. Red things are young. All nice things are red. All nice things are big. Young things are quiet. All young, big things are white.
Bob is big.
("Bob" "is" "big" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is white.
("Erin" "is" "white" "+")
Erin is young.
("Erin" "is" "young" "+")
If Erin is white then Erin is big.
((("Erin" "is" "white" "+")) -> ("Erin" "is" "big" "+"))
If Charlie is white and Charlie is young then Charlie is big.
((("Charlie" "is" "white" "+") ("Charlie" "is" "young" "+")) -> ("Charlie" "is" "big" "+"))
If something is quiet then it is young.
((("something" "is" "quiet" "+")) -> ("something" "is" "young" "+"))
Red things are young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
All nice things are red.
((("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
All nice things are big.
((("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
Young things are quiet.
((("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
All young, big things are white.
((("something" "is" "young" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
Charlie is white.
True
1
proof
[(triple11 OR ((triple12 triple7) -> rule8) OR ((triple12 ((triple8) -> rule6)) -> rule8) OR ((((triple9) -> rule3) triple7) -> rule8) OR ((((triple9) -> rule3) ((triple8) -> rule6)) -> rule8) OR ((((((triple8) -> rule5)) -> rule4) triple7) -> rule8) OR ((((((triple8) -> rule5)) -> rule4) ((triple8) -> rule6)) -> rule8))]
("Charlie" "is" "white" "+")
triple11
((triple12 triple7) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((triple12 ((triple8) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple9) -> (rule3 % int2)) triple7) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple9) -> (rule3 % int3)) ((triple8) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple8) -> (rule5 % int3))) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple8) -> (rule5 % int4))) -> (rule4 % int3)) ((triple8) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is not nice.
False
1
inv-proof
[(triple8)]
("Charlie" "is" "nice" "-")
triple8
Erin is quiet.
True
2
proof
[(((triple15) -> rule7) OR ((((triple13) -> rule4)) -> rule7))]
("Erin" "is" "quiet" "+")
((triple15) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple13) -> (rule4 % int2))) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Bob is not young.
False
2
inv-proof
[(((triple3) -> rule3) OR ((triple4) -> rule4) OR ((((triple2) -> rule5)) -> rule4))]
("Bob" "is" "young" "-")
((triple3) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple4) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Erin is not nice.
Unknown
inv-random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
@0: Bob is big.[(triple1 OR ((triple2) -> rule6))] Bob is nice.[(triple2)] Bob is quiet.[(triple3 OR ((((triple4) -> rule4)) -> rule7) OR ((((((triple2) -> rule5)) -> rule4)) -> rule7))] Bob is red.[(triple4 OR ((triple2) -> rule5))] Bob is smart.[(triple5)] Bob is white.[(triple6 OR ((((triple3) -> rule3) triple1) -> rule8) OR ((((triple4) -> rule4) triple1) -> rule8) OR ((((triple3) -> rule3) ((triple2) -> rule6)) -> rule8) OR ((((triple4) -> rule4) ((triple2) -> rule6)) -> rule8) OR ((((((triple2) -> rule5)) -> rule4) triple1) -> rule8) OR ((((((triple2) -> rule5)) -> rule4) ((triple2) -> rule6)) -> rule8))] Charlie is big.[(triple7 OR ((triple8) -> rule6) OR ((triple11 triple12) -> rule2) OR ((triple11 ((triple9) -> rule3)) -> rule2) OR ((triple11 ((((triple8) -> rule5)) -> rule4)) -> rule2))] Charlie is nice.[(triple8)] Charlie is quiet.[(triple9 OR ((triple12) -> rule7) OR ((((((triple8) -> rule5)) -> rule4)) -> rule7))] Charlie is smart.[(triple10)] Charlie is white.[(triple11 OR ((triple12 triple7) -> rule8) OR ((triple12 ((triple8) -> rule6)) -> rule8) OR ((((triple9) -> rule3) triple7) -> rule8) OR ((((triple9) -> rule3) ((triple8) -> rule6)) -> rule8) OR ((((((triple8) -> rule5)) -> rule4) triple7) -> rule8) OR ((((((triple8) -> rule5)) -> rule4) ((triple8) -> rule6)) -> rule8))] Charlie is young.[(triple12 OR ((triple9) -> rule3) OR ((((triple8) -> rule5)) -> rule4))] Erin is red.[(triple13)] Erin is white.[(triple14)] Erin is young.[(triple15 OR ((triple13) -> rule4))] @1: Bob is young.[(((triple3) -> rule3) OR ((triple4) -> rule4) OR ((((triple2) -> rule5)) -> rule4))] Charlie is red.[(((triple8) -> rule5))] Erin is big.[(((triple14) -> rule1))] Erin is quiet.[(((triple15) -> rule7) OR ((((triple13) -> rule4)) -> rule7))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple2) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((((triple4) -> (rule4 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple4
((triple2) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Bob is white.
("Bob" "is" "white" "+")
triple6
((((triple3) -> (rule3 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple4) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple3) -> (rule3 % int3)) ((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((triple4) -> (rule4 % int3)) ((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((((triple2) -> (rule5 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
((((((triple2) -> (rule5 % int4))) -> (rule4 % int3)) ((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Charlie is big.
("Charlie" "is" "big" "+")
triple7
((triple8) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple11 triple12) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple11 ((triple9) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((triple11 ((((triple8) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple8
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple9
((triple12) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((((triple8) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple10
Charlie is white.
("Charlie" "is" "white" "+")
triple11
((triple12 triple7) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((triple12 ((triple8) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple9) -> (rule3 % int2)) triple7) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple9) -> (rule3 % int3)) ((triple8) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple8) -> (rule5 % int3))) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple8) -> (rule5 % int4))) -> (rule4 % int3)) ((triple8) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
triple12
((triple9) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple8) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple13
Erin is white.
("Erin" "is" "white" "+")
triple14
Erin is young.
("Erin" "is" "young" "+")
triple15
((triple13) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((triple3) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple4) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((triple8) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple14) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple15) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple13) -> (rule4 % int2))) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2