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