Erin is blue. Erin is furry. Erin is green. Erin is nice. Erin is red. Gary is big. Gary is blue. Gary is green. Gary is nice. Gary is red. Harry is blue. Harry is furry. Harry is green. Harry is kind. Harry is red. If Harry is big then Harry is furry. All furry people are blue. If someone is green and big then they are kind. All big, nice people are green. Blue, kind people are big. If Gary is blue then Gary is furry. If someone is big and red then they are nice. If Harry is red then Harry is furry.
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
If Harry is big then Harry is furry.
((("Harry" "is" "big" "+")) -> ("Harry" "is" "furry" "+"))
All furry people are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If someone is green and big then they are kind.
((("someone" "is" "green" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
All big, nice people are green.
((("someone" "is" "big" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "green" "+"))
Blue, kind people are big.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "big" "+"))
If Gary is blue then Gary is furry.
((("Gary" "is" "blue" "+")) -> ("Gary" "is" "furry" "+"))
If someone is big and red then they are nice.
((("someone" "is" "big" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If Harry is red then Harry is furry.
((("Harry" "is" "red" "+")) -> ("Harry" "is" "furry" "+"))
Harry is kind.
True
1
proof
[(triple14)]
("Harry" "is" "kind" "+")
triple14
Erin is not green.
False
1
inv-proof
[(triple3)]
("Erin" "is" "green" "-")
triple3
Gary is furry.
True
2
proof
[(((triple7) -> rule6))]
("Gary" "is" "furry" "+")
((triple7) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not kind.
False
3
inv-proof
[(((triple8 triple6) -> rule3) OR ((((triple6 triple9) -> rule4) triple6) -> rule3) OR ((((triple6 ((triple6 triple10) -> rule7)) -> rule4) triple6) -> rule3))]
("Gary" "is" "kind" "-")
((triple8 triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple6 triple9) -> (rule4 % int2)) triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
((((triple6 ((triple6 triple10) -> (rule7 % int3))) -> (rule4 % int2)) triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Erin is not kind.
Unknown
inv-rconc
[@2: Erin is kind.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Erin" "is" "kind" "-")
Erin is big.
Unknown
rconc
[@2: Erin is big.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Erin" "is" "big" "+")
@0: Erin is blue.[(triple1 OR ((triple2) -> rule2))] Erin is furry.[(triple2)] Erin is green.[(triple3)] Erin is nice.[(triple4)] Erin is red.[(triple5)] Gary is big.[(triple6)] Gary is blue.[(triple7)] Gary is green.[(triple8 OR ((triple6 triple9) -> rule4) OR ((triple6 ((triple6 triple10) -> rule7)) -> rule4))] Gary is nice.[(triple9 OR ((triple6 triple10) -> rule7))] Gary is red.[(triple10)] Harry is blue.[(triple11 OR ((triple12) -> rule2) OR ((((triple15) -> rule8)) -> rule2))] Harry is furry.[(triple12 OR ((triple15) -> rule8) OR ((((triple11 triple14) -> rule5)) -> rule1))] Harry is green.[(triple13 OR ((((triple11 triple14) -> rule5) ((((triple11 triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((((triple12) -> rule2) triple14) -> rule5) ((((triple11 triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((triple11 triple14) -> rule5) ((((((triple12) -> rule2) triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((((triple12) -> rule2) triple14) -> rule5) ((((((triple12) -> rule2) triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((((((triple15) -> rule8)) -> rule2) triple14) -> rule5) ((((triple11 triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((((((triple15) -> rule8)) -> rule2) triple14) -> rule5) ((((((triple12) -> rule2) triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((triple11 triple14) -> rule5) ((((((((triple15) -> rule8)) -> rule2) triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((((triple12) -> rule2) triple14) -> rule5) ((((((((triple15) -> rule8)) -> rule2) triple14) -> rule5) triple15) -> rule7)) -> rule4) OR ((((((((triple15) -> rule8)) -> rule2) triple14) -> rule5) ((((((((triple15) -> rule8)) -> rule2) triple14) -> rule5) triple15) -> rule7)) -> rule4))] Harry is kind.[(triple14)] Harry is red.[(triple15)] @1: Gary is furry.[(((triple7) -> rule6))] Gary is kind.[(((triple8 triple6) -> rule3) OR ((((triple6 triple9) -> rule4) triple6) -> rule3) OR ((((triple6 ((triple6 triple10) -> rule7)) -> rule4) triple6) -> rule3))] Harry is big.[(((triple11 triple14) -> rule5) OR ((((triple12) -> rule2) triple14) -> rule5) OR ((((((triple15) -> rule8)) -> rule2) triple14) -> rule5))] @2: Harry is nice.[(((((triple11 triple14) -> rule5) triple15) -> rule7) OR ((((((triple12) -> rule2) triple14) -> rule5) triple15) -> rule7) OR ((((((((triple15) -> rule8)) -> rule2) triple14) -> rule5) triple15) -> rule7))]
Erin is blue.
("Erin" "is" "blue" "+")
triple1
((triple2) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
Erin is green.
("Erin" "is" "green" "+")
triple3
Erin is nice.
("Erin" "is" "nice" "+")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple5
Gary is big.
("Gary" "is" "big" "+")
triple6
Gary is blue.
("Gary" "is" "blue" "+")
triple7
Gary is green.
("Gary" "is" "green" "+")
triple8
((triple6 triple9) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((triple6 ((triple6 triple10) -> (rule7 % int2))) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
triple9
((triple6 triple10) -> (rule7 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
triple10
Harry is blue.
("Harry" "is" "blue" "+")
triple11
((triple12) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple15) -> (rule8 % int2))) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
triple12
((triple15) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple11 triple14) -> (rule5 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
triple13
((((triple11 triple14) -> (rule5 % int3)) ((((triple11 triple14) -> (rule5 % int3)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((((triple12) -> (rule2 % int4)) triple14) -> (rule5 % int3)) ((((triple11 triple14) -> (rule5 % int3)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
((((triple11 triple14) -> (rule5 % int4)) ((((((triple12) -> (rule2 % int3)) triple14) -> (rule5 % int4)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
((((((triple12) -> (rule2 % int4)) triple14) -> (rule5 % int3)) ((((((triple12) -> (rule2 % int4)) triple14) -> (rule5 % int3)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
((((((((triple15) -> (rule8 % int5))) -> (rule2 % int4)) triple14) -> (rule5 % int3)) ((((triple11 triple14) -> (rule5 % int3)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
int5
((((((((triple15) -> (rule8 % int5))) -> (rule2 % int4)) triple14) -> (rule5 % int3)) ((((((triple12) -> (rule2 % int4)) triple14) -> (rule5 % int3)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
int5
((((triple11 triple14) -> (rule5 % int5)) ((((((((triple15) -> (rule8 % int4))) -> (rule2 % int3)) triple14) -> (rule5 % int5)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
Harry is big.
("Harry" "is" "big" "+")
int5
((((((triple12) -> (rule2 % int5)) triple14) -> (rule5 % int4)) ((((((((triple15) -> (rule8 % int3))) -> (rule2 % int5)) triple14) -> (rule5 % int4)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is blue.
("Harry" "is" "blue" "+")
int5
((((((((triple15) -> (rule8 % int5))) -> (rule2 % int4)) triple14) -> (rule5 % int3)) ((((((((triple15) -> (rule8 % int5))) -> (rule2 % int4)) triple14) -> (rule5 % int3)) triple15) -> (rule7 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
int5
Harry is kind.
("Harry" "is" "kind" "+")
triple14
Harry is red.
("Harry" "is" "red" "+")
triple15
Gary is furry.
("Gary" "is" "furry" "+")
((triple7) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple8 triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple6 triple9) -> (rule4 % int2)) triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
((((triple6 ((triple6 triple10) -> (rule7 % int3))) -> (rule4 % int2)) triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
((triple11 triple14) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple12) -> (rule2 % int2)) triple14) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((((triple15) -> (rule8 % int3))) -> (rule2 % int2)) triple14) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
((((triple11 triple14) -> (rule5 % int2)) triple15) -> (rule7 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((((triple12) -> (rule2 % int3)) triple14) -> (rule5 % int2)) triple15) -> (rule7 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((((((((triple15) -> (rule8 % int4))) -> (rule2 % int3)) triple14) -> (rule5 % int2)) triple15) -> (rule7 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4