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