Charlie is blue. Charlie is furry. Charlie is green. Charlie is white. Dave is nice. Dave is young. Erin is furry. Erin is green. Erin is white. Harry is furry. Harry is nice. If someone is blue and young then they are white. If someone is smart and nice then they are green. All furry people are smart. If Harry is young and Harry is furry then Harry is smart. White people are furry. All furry, blue people are green. If someone is nice then they are furry. Green, smart people are blue.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is white.
("Erin" "is" "white" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
If someone is blue and young then they are white.
((("someone" "is" "blue" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
If someone is smart and nice then they are green.
((("someone" "is" "smart" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "green" "+"))
All furry people are smart.
((("someone" "is" "furry" "+")) -> ("someone" "is" "smart" "+"))
If Harry is young and Harry is furry then Harry is smart.
((("Harry" "is" "young" "+") ("Harry" "is" "furry" "+")) -> ("Harry" "is" "smart" "+"))
White people are furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
All furry, blue people are green.
((("someone" "is" "furry" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If someone is nice then they are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Green, smart people are blue.
((("someone" "is" "green" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
Erin is green.
True
1
proof
[(triple8)]
("Erin" "is" "green" "+")
triple8
Charlie is not blue.
False
1
inv-proof
[(triple1 OR ((triple3 ((triple2) -> rule3)) -> rule8) OR ((triple3 ((((triple4) -> rule5)) -> rule3)) -> rule8))]
("Charlie" "is" "blue" "-")
triple1
((triple3 ((triple2) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((triple3 ((((triple4) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Harry is smart.
True
2
proof
[(((triple10) -> rule3) OR ((((triple11) -> rule7)) -> rule3))]
("Harry" "is" "smart" "+")
((triple10) -> (rule3 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((((triple11) -> (rule7 % int2))) -> (rule3 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Dave is not furry.
False
2
inv-proof
[(((triple5) -> rule7))]
("Dave" "is" "furry" "-")
((triple5) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
True
3
proof
[(((((triple5) -> rule7)) -> rule3))]
("Dave" "is" "smart" "+")
((((triple5) -> (rule7 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not smart.
False
3
inv-proof
[(((((triple5) -> rule7)) -> rule3))]
("Dave" "is" "smart" "-")
((((triple5) -> (rule7 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Harry is blue.
True
7
proof
[(((((((triple10) -> rule3) triple11) -> rule2) ((triple10) -> rule3)) -> rule8) OR ((((((triple10) -> rule3) triple11) -> rule2) ((((triple11) -> rule7)) -> rule3)) -> rule8) OR ((((((((triple11) -> rule7)) -> rule3) triple11) -> rule2) ((triple10) -> rule3)) -> rule8) OR ((((((((triple11) -> rule7)) -> rule3) triple11) -> rule2) ((((triple11) -> rule7)) -> rule3)) -> rule8))]
("Harry" "is" "blue" "+")
((((((triple10) -> (rule3 % int3)) triple11) -> (rule2 % int2)) ((triple10) -> (rule3 % int3))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
((((((triple10) -> (rule3 % int4)) triple11) -> (rule2 % int3)) ((((triple11) -> (rule7 % int2))) -> (rule3 % int4))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((((((triple11) -> (rule7 % int4))) -> (rule3 % int3)) triple11) -> (rule2 % int2)) ((triple10) -> (rule3 % int3))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
((((((((triple11) -> (rule7 % int4))) -> (rule3 % int3)) triple11) -> (rule2 % int2)) ((((triple11) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
Dave is not green.
False
5
inv-proof
[(((((((triple5) -> rule7)) -> rule3) triple5) -> rule2))]
("Dave" "is" "green" "-")
((((((triple5) -> (rule7 % int3))) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is blue.
True
9
proof
[(((((((((triple5) -> rule7)) -> rule3) triple5) -> rule2) ((((triple5) -> rule7)) -> rule3)) -> rule8))]
("Dave" "is" "blue" "+")
((((((((triple5) -> (rule7 % int4))) -> (rule3 % int3)) triple5) -> (rule2 % int2)) ((((triple5) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is not blue.
False
9
inv-proof
[(((((((((triple5) -> rule7)) -> rule3) triple5) -> rule2) ((((triple5) -> rule7)) -> rule3)) -> rule8))]
("Dave" "is" "blue" "-")
((((((((triple5) -> (rule7 % int4))) -> (rule3 % int3)) triple5) -> (rule2 % int2)) ((((triple5) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is white.
True
11
proof
[(((((((((((triple5) -> rule7)) -> rule3) triple5) -> rule2) ((((triple5) -> rule7)) -> rule3)) -> rule8) triple6) -> rule1))]
("Dave" "is" "white" "+")
((((((((((triple5) -> (rule7 % int5))) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((((triple5) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule8 % int2)) triple6) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is furry.
("Dave" "is" "furry" "+")
int5
Dave is not white.
False
11
inv-proof
[(((((((((((triple5) -> rule7)) -> rule3) triple5) -> rule2) ((((triple5) -> rule7)) -> rule3)) -> rule8) triple6) -> rule1))]
("Dave" "is" "white" "-")
((((((((((triple5) -> (rule7 % int5))) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((((triple5) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule8 % int2)) triple6) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is furry.
("Dave" "is" "furry" "+")
int5
Harry is not white.
Unknown
inv-rconc
[@1: Harry is white.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "white" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
Charlie is not young.
Unknown
inv-random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "-")
Erin is nice.
Unknown
random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "+")
Charlie is not nice.
Unknown
inv-random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "-")
Erin is young.
Unknown
random
[@0: Erin is young.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "young" "+")
@0: Charlie is blue.[(triple1 OR ((triple3 ((triple2) -> rule3)) -> rule8) OR ((triple3 ((((triple4) -> rule5)) -> rule3)) -> rule8))] Charlie is furry.[(triple2 OR ((triple4) -> rule5))] Charlie is green.[(triple3 OR ((triple2 triple1) -> rule6) OR ((((triple4) -> rule5) triple1) -> rule6))] Charlie is white.[(triple4)] Dave is nice.[(triple5)] Dave is young.[(triple6)] Erin is furry.[(triple7 OR ((triple9) -> rule5))] Erin is green.[(triple8)] Erin is white.[(triple9)] Harry is furry.[(triple10 OR ((triple11) -> rule7))] Harry is nice.[(triple11)] @1: Charlie is smart.[(((triple2) -> rule3) OR ((((triple4) -> rule5)) -> rule3))] Dave is furry.[(((triple5) -> rule7))] Erin is smart.[(((triple7) -> rule3) OR ((((triple9) -> rule5)) -> rule3))] Harry is smart.[(((triple10) -> rule3) OR ((((triple11) -> rule7)) -> rule3))] @2: Dave is smart.[(((((triple5) -> rule7)) -> rule3))] Erin is blue.[(((triple8 ((triple7) -> rule3)) -> rule8) OR ((triple8 ((((triple9) -> rule5)) -> rule3)) -> rule8))] Harry is green.[(((((triple10) -> rule3) triple11) -> rule2) OR ((((((triple11) -> rule7)) -> rule3) triple11) -> rule2))] @3: Dave is green.[(((((((triple5) -> rule7)) -> rule3) triple5) -> rule2))] Harry is blue.[(((((((triple10) -> rule3) triple11) -> rule2) ((triple10) -> rule3)) -> rule8) OR ((((((triple10) -> rule3) triple11) -> rule2) ((((triple11) -> rule7)) -> rule3)) -> rule8) OR ((((((((triple11) -> rule7)) -> rule3) triple11) -> rule2) ((triple10) -> rule3)) -> rule8) OR ((((((((triple11) -> rule7)) -> rule3) triple11) -> rule2) ((((triple11) -> rule7)) -> rule3)) -> rule8))] @4: Dave is blue.[(((((((((triple5) -> rule7)) -> rule3) triple5) -> rule2) ((((triple5) -> rule7)) -> rule3)) -> rule8))] @5: Dave is white.[(((((((((((triple5) -> rule7)) -> rule3) triple5) -> rule2) ((((triple5) -> rule7)) -> rule3)) -> rule8) triple6) -> rule1))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
((triple3 ((triple2) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((triple3 ((((triple4) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
((triple4) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
triple3
((triple2 triple1) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((((triple4) -> (rule5 % int2)) triple1) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
Dave is young.
("Dave" "is" "young" "+")
triple6
Erin is furry.
("Erin" "is" "furry" "+")
triple7
((triple9) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
triple8
Erin is white.
("Erin" "is" "white" "+")
triple9
Harry is furry.
("Harry" "is" "furry" "+")
triple10
((triple11) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple11
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple2) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((((triple4) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((triple5) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
((triple7) -> (rule3 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((triple9) -> (rule5 % int2))) -> (rule3 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((triple10) -> (rule3 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((((triple11) -> (rule7 % int2))) -> (rule3 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
((((triple5) -> (rule7 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
((triple8 ((triple7) -> (rule3 % int2))) -> (rule8 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((triple8 ((((triple9) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
((((triple10) -> (rule3 % int2)) triple11) -> (rule2 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((((triple11) -> (rule7 % int3))) -> (rule3 % int2)) triple11) -> (rule2 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
((((((triple5) -> (rule7 % int3))) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
((((((triple10) -> (rule3 % int3)) triple11) -> (rule2 % int2)) ((triple10) -> (rule3 % int3))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
((((((triple10) -> (rule3 % int4)) triple11) -> (rule2 % int3)) ((((triple11) -> (rule7 % int2))) -> (rule3 % int4))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((((((triple11) -> (rule7 % int4))) -> (rule3 % int3)) triple11) -> (rule2 % int2)) ((triple10) -> (rule3 % int3))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
((((((((triple11) -> (rule7 % int4))) -> (rule3 % int3)) triple11) -> (rule2 % int2)) ((((triple11) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
Dave is blue.
("Dave" "is" "blue" "+")
((((((((triple5) -> (rule7 % int4))) -> (rule3 % int3)) triple5) -> (rule2 % int2)) ((((triple5) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is white.
("Dave" "is" "white" "+")
((((((((((triple5) -> (rule7 % int5))) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((((triple5) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule8 % int2)) triple6) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is furry.
("Dave" "is" "furry" "+")
int5