Bob is blue. Bob is furry. Bob is green. Bob is red. Bob is smart. Bob is young. Charlie is cold. Charlie is smart. Charlie is young. Fiona is blue. Fiona is red. Fiona is smart. All cold, young people are red. Smart, blue people are furry. All red people are blue. If Fiona is young then Fiona is red. All red people are smart. All green, furry people are blue.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
All cold, young people are red.
((("someone" "is" "cold" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
Smart, blue people are furry.
((("someone" "is" "smart" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All red people are blue.
((("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
If Fiona is young then Fiona is red.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "red" "+"))
All red people are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
All green, furry people are blue.
((("someone" "is" "green" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
Bob is blue.
True
1
proof
[(triple1 OR ((triple4) -> rule3) OR ((triple3 triple2) -> rule6))]
("Bob" "is" "blue" "+")
triple1
((triple4) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple3 triple2) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Fiona is not blue.
False
1
inv-proof
[(triple10 OR ((triple11) -> rule3))]
("Fiona" "is" "blue" "-")
triple10
((triple11) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
True
3
proof
[(((triple12 triple10) -> rule2) OR ((triple12 ((triple11) -> rule3)) -> rule2) OR ((((triple11) -> rule5) triple10) -> rule2) OR ((((triple11) -> rule5) ((triple11) -> rule3)) -> rule2))]
("Fiona" "is" "furry" "+")
((triple12 triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple12 ((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple11) -> (rule5 % int2)) triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple11) -> (rule5 % int3)) ((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is not furry.
False
3
inv-proof
[(((triple12 triple10) -> rule2) OR ((triple12 ((triple11) -> rule3)) -> rule2) OR ((((triple11) -> rule5) triple10) -> rule2) OR ((((triple11) -> rule5) ((triple11) -> rule3)) -> rule2))]
("Fiona" "is" "furry" "-")
((triple12 triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple12 ((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple11) -> (rule5 % int2)) triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple11) -> (rule5 % int3)) ((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Charlie is blue.
True
4
proof
[(((((triple7 triple9) -> rule1)) -> rule3))]
("Charlie" "is" "blue" "+")
((((triple7 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is not blue.
False
4
inv-proof
[(((((triple7 triple9) -> rule1)) -> rule3))]
("Charlie" "is" "blue" "-")
((((triple7 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is furry.
True
6
proof
[(((triple8 ((((triple7 triple9) -> rule1)) -> rule3)) -> rule2) OR ((((((triple7 triple9) -> rule1)) -> rule5) ((((triple7 triple9) -> rule1)) -> rule3)) -> rule2))]
("Charlie" "is" "furry" "+")
((triple8 ((((triple7 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple7 triple9) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple7 triple9) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is not furry.
False
6
inv-proof
[(((triple8 ((((triple7 triple9) -> rule1)) -> rule3)) -> rule2) OR ((((((triple7 triple9) -> rule1)) -> rule5) ((((triple7 triple9) -> rule1)) -> rule3)) -> rule2))]
("Charlie" "is" "furry" "-")
((triple8 ((((triple7 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple7 triple9) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple7 triple9) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Fiona is not young.
Unknown
inv-random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "-")
Bob is cold.
Unknown
random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
@0: Bob is blue.[(triple1 OR ((triple4) -> rule3) OR ((triple3 triple2) -> rule6))] Bob is furry.[(triple2 OR ((triple5 triple1) -> rule2) OR ((triple5 ((triple4) -> rule3)) -> rule2) OR ((((triple4) -> rule5) triple1) -> rule2) OR ((((triple4) -> rule5) ((triple4) -> rule3)) -> rule2))] Bob is green.[(triple3)] Bob is red.[(triple4)] Bob is smart.[(triple5 OR ((triple4) -> rule5))] Bob is young.[(triple6)] Charlie is cold.[(triple7)] Charlie is smart.[(triple8 OR ((((triple7 triple9) -> rule1)) -> rule5))] Charlie is young.[(triple9)] Fiona is blue.[(triple10 OR ((triple11) -> rule3))] Fiona is red.[(triple11)] Fiona is smart.[(triple12 OR ((triple11) -> rule5))] @1: Charlie is red.[(((triple7 triple9) -> rule1))] Fiona is furry.[(((triple12 triple10) -> rule2) OR ((triple12 ((triple11) -> rule3)) -> rule2) OR ((((triple11) -> rule5) triple10) -> rule2) OR ((((triple11) -> rule5) ((triple11) -> rule3)) -> rule2))] @2: Charlie is blue.[(((((triple7 triple9) -> rule1)) -> rule3))] @3: Charlie is furry.[(((triple8 ((((triple7 triple9) -> rule1)) -> rule3)) -> rule2) OR ((((((triple7 triple9) -> rule1)) -> rule5) ((((triple7 triple9) -> rule1)) -> rule3)) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple4) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple3 triple2) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple5 triple1) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple5 ((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple4) -> (rule5 % int2)) triple1) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple4) -> (rule5 % int3)) ((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is red.
("Bob" "is" "red" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
((triple4) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple6
Charlie is cold.
("Charlie" "is" "cold" "+")
triple7
Charlie is smart.
("Charlie" "is" "smart" "+")
triple8
((((triple7 triple9) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Fiona is blue.
("Fiona" "is" "blue" "+")
triple10
((triple11) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple11
Fiona is smart.
("Fiona" "is" "smart" "+")
triple12
((triple11) -> (rule5 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple7 triple9) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple12 triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple12 ((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple11) -> (rule5 % int2)) triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple11) -> (rule5 % int3)) ((triple11) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple7 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple8 ((((triple7 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple7 triple9) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple7 triple9) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4