Anne is furry. Anne is round. Anne is white. Charlie is round. Fiona is kind. Harry is furry. Harry is round. Blue people are white. All cold, round people are white. Kind people are blue. If someone is furry and kind then they are white. All young people are furry. Furry people are young. All blue, white people are furry. If someone is round then they are blue. White, young people are round.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is white.
("Anne" "is" "white" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is round.
("Harry" "is" "round" "+")
Blue people are white.
((("someone" "is" "blue" "+")) -> ("someone" "is" "white" "+"))
All cold, round people are white.
((("someone" "is" "cold" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
Kind people are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is furry and kind then they are white.
((("someone" "is" "furry" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
All young people are furry.
((("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
Furry people are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
All blue, white people are furry.
((("someone" "is" "blue" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
If someone is round then they are blue.
((("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
White, young people are round.
((("someone" "is" "white" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Anne is round.
True
1
proof
[(triple2 OR ((triple3 ((triple1) -> rule6)) -> rule9))]
("Anne" "is" "round" "+")
triple2
((triple3 ((triple1) -> (rule6 % int2))) -> (rule9 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is not furry.
False
1
inv-proof
[(triple1 OR ((((triple2) -> rule8) triple3) -> rule7) OR ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule1)) -> rule7))]
("Anne" "is" "furry" "-")
triple1
((((triple2) -> (rule8 % int2)) triple3) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple2) -> (rule8 % int3)) ((((triple2) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is young.
True
2
proof
[(((triple1) -> rule6) OR ((((((triple2) -> rule8) triple3) -> rule7)) -> rule6) OR ((((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule1)) -> rule7)) -> rule6))]
("Anne" "is" "young" "+")
((triple1) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((((((triple2) -> (rule8 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple2) -> (rule8 % int4)) ((((triple2) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Fiona is not blue.
False
2
inv-proof
[(((triple5) -> rule3))]
("Fiona" "is" "blue" "-")
((triple5) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is white.
True
3
proof
[(((((triple5) -> rule3)) -> rule1))]
("Fiona" "is" "white" "+")
((((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not white.
False
3
inv-proof
[(((((triple5) -> rule3)) -> rule1))]
("Fiona" "is" "white" "-")
((((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
True
6
proof
[(((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7))]
("Fiona" "is" "furry" "+")
((((triple5) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not furry.
False
6
inv-proof
[(((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7))]
("Fiona" "is" "furry" "-")
((((triple5) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is young.
True
7
proof
[(((((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7)) -> rule6))]
("Fiona" "is" "young" "+")
((((((triple5) -> (rule3 % int4)) ((((triple5) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is not young.
False
7
inv-proof
[(((((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7)) -> rule6))]
("Fiona" "is" "young" "-")
((((((triple5) -> (rule3 % int4)) ((((triple5) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is round.
True
11
proof
[(((((((triple5) -> rule3)) -> rule1) ((((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7)) -> rule6)) -> rule9))]
("Fiona" "is" "round" "+")
((((((triple5) -> (rule3 % int5))) -> (rule1 % int4)) ((((((triple5) -> (rule3 % int5)) ((((triple5) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Fiona is not round.
False
11
inv-proof
[(((((((triple5) -> rule3)) -> rule1) ((((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7)) -> rule6)) -> rule9))]
("Fiona" "is" "round" "-")
((((((triple5) -> (rule3 % int5))) -> (rule1 % int4)) ((((((triple5) -> (rule3 % int5)) ((((triple5) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Harry is not kind.
Unknown
inv-random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "-")
Anne is kind.
Unknown
random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "+")
Anne is not cold.
Unknown
inv-random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "-")
Fiona is cold.
Unknown
random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "+")
Charlie is not kind.
Unknown
inv-random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "-")
Harry is cold.
Unknown
random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "+")
@0: Anne is furry.[(triple1 OR ((((triple2) -> rule8) triple3) -> rule7) OR ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule1)) -> rule7))] Anne is round.[(triple2 OR ((triple3 ((triple1) -> rule6)) -> rule9))] Anne is white.[(triple3 OR ((((triple2) -> rule8)) -> rule1))] Charlie is round.[(triple4)] Fiona is kind.[(triple5)] Harry is furry.[(triple6 OR ((((triple7) -> rule8) ((((triple7) -> rule8)) -> rule1)) -> rule7))] Harry is round.[(triple7)] @1: Anne is blue.[(((triple2) -> rule8) OR ((((triple3 ((triple1) -> rule6)) -> rule9)) -> rule8))] Anne is young.[(((triple1) -> rule6) OR ((((((triple2) -> rule8) triple3) -> rule7)) -> rule6) OR ((((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule1)) -> rule7)) -> rule6))] Charlie is blue.[(((triple4) -> rule8))] Fiona is blue.[(((triple5) -> rule3))] Harry is blue.[(((triple7) -> rule8))] Harry is young.[(((triple6) -> rule6) OR ((((((triple7) -> rule8) ((((triple7) -> rule8)) -> rule1)) -> rule7)) -> rule6))] @2: Charlie is white.[(((((triple4) -> rule8)) -> rule1))] Fiona is white.[(((((triple5) -> rule3)) -> rule1))] Harry is white.[(((((triple7) -> rule8)) -> rule1))] @3: Charlie is furry.[(((((triple4) -> rule8) ((((triple4) -> rule8)) -> rule1)) -> rule7))] Fiona is furry.[(((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7))] @4: Charlie is young.[(((((((triple4) -> rule8) ((((triple4) -> rule8)) -> rule1)) -> rule7)) -> rule6))] Fiona is young.[(((((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7)) -> rule6))] @5: Fiona is round.[(((((((triple5) -> rule3)) -> rule1) ((((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule1)) -> rule7)) -> rule6)) -> rule9))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
((((triple2) -> (rule8 % int2)) triple3) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple2) -> (rule8 % int3)) ((((triple2) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
triple2
((triple3 ((triple1) -> (rule6 % int2))) -> (rule9 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
triple3
((((triple2) -> (rule8 % int2))) -> (rule1 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
triple4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
Harry is furry.
("Harry" "is" "furry" "+")
triple6
((((triple7) -> (rule8 % int3)) ((((triple7) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
triple7
Anne is blue.
("Anne" "is" "blue" "+")
((triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple3 ((triple1) -> (rule6 % int3))) -> (rule9 % int2))) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
((triple1) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((((((triple2) -> (rule8 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple2) -> (rule8 % int4)) ((((triple2) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple4) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple5) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple7) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((triple6) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((((triple7) -> (rule8 % int4)) ((((triple7) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
((((triple4) -> (rule8 % int2))) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
((((triple7) -> (rule8 % int2))) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple4) -> (rule8 % int3)) ((((triple4) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple5) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
((((((triple4) -> (rule8 % int4)) ((((triple4) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
((((((triple5) -> (rule3 % int4)) ((((triple5) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
((((((triple5) -> (rule3 % int5))) -> (rule1 % int4)) ((((((triple5) -> (rule3 % int5)) ((((triple5) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5