Dave is blue. Dave is furry. Dave is green. Dave is round. Dave is smart. Fiona is big. Fiona is furry. Fiona is green. Fiona is round. Fiona is smart. Fiona is young. Gary is big. Gary is furry. Gary is smart. Gary is young. Blue things are young. All green, young things are round. Blue things are big. All young things are green. If something is smart and round then it is furry. If Fiona is round and Fiona is furry then Fiona is smart.
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is young.
("Gary" "is" "young" "+")
Blue things are young.
((("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
All green, young things are round.
((("something" "is" "green" "+") ("something" "is" "young" "+")) -> ("something" "is" "round" "+"))
Blue things are big.
((("something" "is" "blue" "+")) -> ("something" "is" "big" "+"))
All young things are green.
((("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
If something is smart and round then it is furry.
((("something" "is" "smart" "+") ("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
If Fiona is round and Fiona is furry then Fiona is smart.
((("Fiona" "is" "round" "+") ("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "smart" "+"))
Fiona is big.
True
1
proof
[(triple6)]
("Fiona" "is" "big" "+")
triple6
Dave is not round.
False
1
inv-proof
[(triple4 OR ((triple3 ((triple1) -> rule1)) -> rule2) OR ((((((triple1) -> rule1)) -> rule4) ((triple1) -> rule1)) -> rule2))]
("Dave" "is" "round" "-")
triple4
((triple3 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule4 % int2)) ((triple1) -> (rule1 % int3))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Gary is green.
True
2
proof
[(((triple15) -> rule4))]
("Gary" "is" "green" "+")
((triple15) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Dave is not young.
False
2
inv-proof
[(((triple1) -> rule1))]
("Dave" "is" "young" "-")
((triple1) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Gary is round.
True
4
proof
[(((((triple15) -> rule4) triple15) -> rule2))]
("Gary" "is" "round" "+")
((((triple15) -> (rule4 % int2)) triple15) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is not round.
False
4
inv-proof
[(((((triple15) -> rule4) triple15) -> rule2))]
("Gary" "is" "round" "-")
((((triple15) -> (rule4 % int2)) triple15) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
@0: Dave is blue.[(triple1)] Dave is furry.[(triple2 OR ((triple5 triple4) -> rule5) OR ((triple5 ((triple3 ((triple1) -> rule1)) -> rule2)) -> rule5) OR ((triple5 ((((((triple1) -> rule1)) -> rule4) ((triple1) -> rule1)) -> rule2)) -> rule5))] Dave is green.[(triple3 OR ((((triple1) -> rule1)) -> rule4))] Dave is round.[(triple4 OR ((triple3 ((triple1) -> rule1)) -> rule2) OR ((((((triple1) -> rule1)) -> rule4) ((triple1) -> rule1)) -> rule2))] Dave is smart.[(triple5)] Fiona is big.[(triple6)] Fiona is furry.[(triple7 OR ((triple10 triple9) -> rule5) OR ((triple10 ((triple8 triple11) -> rule2)) -> rule5) OR ((triple10 ((((triple11) -> rule4) triple11) -> rule2)) -> rule5))] Fiona is green.[(triple8 OR ((triple11) -> rule4))] Fiona is round.[(triple9 OR ((triple8 triple11) -> rule2) OR ((((triple11) -> rule4) triple11) -> rule2))] Fiona is smart.[(triple10 OR ((triple9 triple7) -> rule6) OR ((((triple8 triple11) -> rule2) triple7) -> rule6) OR ((((((triple11) -> rule4) triple11) -> rule2) triple7) -> rule6))] Fiona is young.[(triple11)] Gary is big.[(triple12)] Gary is furry.[(triple13 OR ((triple14 ((((triple15) -> rule4) triple15) -> rule2)) -> rule5))] Gary is smart.[(triple14)] Gary is young.[(triple15)] @1: Dave is big.[(((triple1) -> rule3))] Dave is young.[(((triple1) -> rule1))] Gary is green.[(((triple15) -> rule4))] @2: Gary is round.[(((((triple15) -> rule4) triple15) -> rule2))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
((triple5 triple4) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5 ((triple3 ((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((triple5 ((((((triple1) -> (rule1 % int4))) -> (rule4 % int3)) ((triple1) -> (rule1 % int4))) -> (rule2 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
triple3
((((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
triple4
((triple3 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule4 % int2)) ((triple1) -> (rule1 % int3))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
triple5
Fiona is big.
("Fiona" "is" "big" "+")
triple6
Fiona is furry.
("Fiona" "is" "furry" "+")
triple7
((triple10 triple9) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple10 ((triple8 triple11) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((triple10 ((((triple11) -> (rule4 % int3)) triple11) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
triple8
((triple11) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
triple9
((triple8 triple11) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple11) -> (rule4 % int2)) triple11) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
((triple9 triple7) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple8 triple11) -> (rule2 % int2)) triple7) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((((triple11) -> (rule4 % int3)) triple11) -> (rule2 % int2)) triple7) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
triple11
Gary is big.
("Gary" "is" "big" "+")
triple12
Gary is furry.
("Gary" "is" "furry" "+")
triple13
((triple14 ((((triple15) -> (rule4 % int3)) triple15) -> (rule2 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
triple14
Gary is young.
("Gary" "is" "young" "+")
triple15
Dave is big.
("Dave" "is" "big" "+")
((triple1) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((triple1) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple15) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((((triple15) -> (rule4 % int2)) triple15) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2