Bob is big. Bob is blue. Harry is young. Kind people are furry. Young, quiet people are kind. If someone is quiet then they are blue. Big, kind people are young. All young people are blue. All blue, young people are quiet. If Harry is young then Harry is kind. All big people are young.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Harry is young.
("Harry" "is" "young" "+")
Kind people are furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
Young, quiet people are kind.
((("someone" "is" "young" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "+"))
If someone is quiet then they are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
Big, kind people are young.
((("someone" "is" "big" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
All young people are blue.
((("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
All blue, young people are quiet.
((("someone" "is" "blue" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "quiet" "+"))
If Harry is young then Harry is kind.
((("Harry" "is" "young" "+")) -> ("Harry" "is" "kind" "+"))
All big people are young.
((("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
Harry is young.
True
1
proof
[(triple3)]
("Harry" "is" "young" "+")
triple3
Bob is not blue.
False
1
inv-proof
[(triple2 OR ((((triple1) -> rule8)) -> rule5))]
("Bob" "is" "blue" "-")
triple2
((((triple1) -> (rule8 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is young.
True
2
proof
[(((triple1) -> rule8))]
("Bob" "is" "young" "+")
((triple1) -> (rule8 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Harry is not kind.
False
2
inv-proof
[(((triple3) -> rule7) OR ((triple3 ((((triple3) -> rule5) triple3) -> rule6)) -> rule2))]
("Harry" "is" "kind" "-")
((triple3) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple3 ((((triple3) -> (rule5 % int3)) triple3) -> (rule6 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is furry.
True
3
proof
[(((((triple3) -> rule7)) -> rule1) OR ((((triple3 ((((triple3) -> rule5) triple3) -> rule6)) -> rule2)) -> rule1))]
("Harry" "is" "furry" "+")
((((triple3) -> (rule7 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((triple3 ((((triple3) -> (rule5 % int4)) triple3) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Harry is not quiet.
False
4
inv-proof
[(((((triple3) -> rule5) triple3) -> rule6))]
("Harry" "is" "quiet" "-")
((((triple3) -> (rule5 % int2)) triple3) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Bob is kind.
True
7
proof
[(((((triple1) -> rule8) ((triple2 ((triple1) -> rule8)) -> rule6)) -> rule2) OR ((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule5) ((triple1) -> rule8)) -> rule6)) -> rule2))]
("Bob" "is" "kind" "+")
((((triple1) -> (rule8 % int3)) ((triple2 ((triple1) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((triple1) -> (rule8 % int4)) ((((((triple1) -> (rule8 % int4))) -> (rule5 % int3)) ((triple1) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Bob is not kind.
False
7
inv-proof
[(((((triple1) -> rule8) ((triple2 ((triple1) -> rule8)) -> rule6)) -> rule2) OR ((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule5) ((triple1) -> rule8)) -> rule6)) -> rule2))]
("Bob" "is" "kind" "-")
((((triple1) -> (rule8 % int3)) ((triple2 ((triple1) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((triple1) -> (rule8 % int4)) ((((((triple1) -> (rule8 % int4))) -> (rule5 % int3)) ((triple1) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Harry is not big.
Unknown
inv-random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "-")
Harry is white.
Unknown
random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2 OR ((((triple1) -> rule8)) -> rule5))] Harry is young.[(triple3)] @1: Bob is young.[(((triple1) -> rule8))] Harry is blue.[(((triple3) -> rule5))] Harry is kind.[(((triple3) -> rule7) OR ((triple3 ((((triple3) -> rule5) triple3) -> rule6)) -> rule2))] @2: Bob is quiet.[(((triple2 ((triple1) -> rule8)) -> rule6) OR ((((((triple1) -> rule8)) -> rule5) ((triple1) -> rule8)) -> rule6))] Harry is furry.[(((((triple3) -> rule7)) -> rule1) OR ((((triple3 ((((triple3) -> rule5) triple3) -> rule6)) -> rule2)) -> rule1))] Harry is quiet.[(((((triple3) -> rule5) triple3) -> rule6))] @3: Bob is kind.[(((((triple1) -> rule8) ((triple2 ((triple1) -> rule8)) -> rule6)) -> rule2) OR ((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule5) ((triple1) -> rule8)) -> rule6)) -> rule2))] @4: Bob is furry.[(((((((triple1) -> rule8) ((triple2 ((triple1) -> rule8)) -> rule6)) -> rule2)) -> rule1) OR ((((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule5) ((triple1) -> rule8)) -> rule6)) -> rule2)) -> rule1))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((((triple1) -> (rule8 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
triple3
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule8 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple3) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple3) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple3 ((((triple3) -> (rule5 % int3)) triple3) -> (rule6 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple2 ((triple1) -> (rule8 % int2))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((((triple1) -> (rule8 % int3))) -> (rule5 % int2)) ((triple1) -> (rule8 % int3))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
((((triple3) -> (rule7 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((triple3 ((((triple3) -> (rule5 % int4)) triple3) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
((((triple3) -> (rule5 % int2)) triple3) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((((triple1) -> (rule8 % int3)) ((triple2 ((triple1) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((triple1) -> (rule8 % int4)) ((((((triple1) -> (rule8 % int4))) -> (rule5 % int3)) ((triple1) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Bob is furry.
("Bob" "is" "furry" "+")
((((((triple1) -> (rule8 % int4)) ((triple2 ((triple1) -> (rule8 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
((((((triple1) -> (rule8 % int5)) ((((((triple1) -> (rule8 % int5))) -> (rule5 % int4)) ((triple1) -> (rule8 % int5))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
int5