Bob is red. Bob is round. Bob is white. Fiona is big. Fiona is kind. Fiona is nice. Fiona is red. Fiona is round. Fiona is white. Gary is round. Gary is white. Gary is young. Harry is big. Harry is red. Harry is white. Round, red people are nice. Nice, young people are round. If someone is young then they are round. All round, big people are nice. Young people are round. Round people are nice. If someone is nice and white then they are young. If Fiona is nice and Fiona is kind then Fiona is big.
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is white.
("Harry" "is" "white" "+")
Round, red people are nice.
((("someone" "is" "round" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
Nice, young people are round.
((("someone" "is" "nice" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
If someone is young then they are round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
All round, big people are nice.
((("someone" "is" "round" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
Young people are round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Round people are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
If someone is nice and white then they are young.
((("someone" "is" "nice" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
If Fiona is nice and Fiona is kind then Fiona is big.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "big" "+"))
Gary is white.
True
1
proof
[(triple11)]
("Gary" "is" "white" "+")
triple11
Gary is not young.
False
1
inv-proof
[(triple12 OR ((((triple10) -> rule6) triple11) -> rule7))]
("Gary" "is" "young" "-")
triple12
((((triple10) -> (rule6 % int2)) triple11) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is nice.
True
2
proof
[(((triple10) -> rule6) OR ((((triple12) -> rule3)) -> rule6) OR ((((triple12) -> rule5)) -> rule6))]
("Gary" "is" "nice" "+")
((triple10) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple12) -> (rule3 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple12) -> (rule5 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Fiona is not young.
False
3
inv-proof
[(((triple6 triple9) -> rule7) OR ((((triple8) -> rule6) triple9) -> rule7) OR ((((triple8 triple4) -> rule4) triple9) -> rule7) OR ((((triple8 triple7) -> rule1) triple9) -> rule7))]
("Fiona" "is" "young" "-")
((triple6 triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple8) -> (rule6 % int2)) triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple8 triple4) -> (rule4 % int2)) triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple8 triple7) -> (rule1 % int2)) triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Bob is young.
True
4
proof
[(((((triple2) -> rule6) triple3) -> rule7) OR ((((triple2 triple1) -> rule1) triple3) -> rule7))]
("Bob" "is" "young" "+")
((((triple2) -> (rule6 % int2)) triple3) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((triple2 triple1) -> (rule1 % int2)) triple3) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is not young.
False
4
inv-proof
[(((((triple2) -> rule6) triple3) -> rule7) OR ((((triple2 triple1) -> rule1) triple3) -> rule7))]
("Bob" "is" "young" "-")
((((triple2) -> (rule6 % int2)) triple3) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((triple2 triple1) -> (rule1 % int2)) triple3) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Harry is not round.
Unknown
inv-rconc
[@4: Harry is round.[CWA. Example of deepest failure = (rule2 <- rule7 <- rule1 <- rule3 <- FAIL)]]
("Harry" "is" "round" "-")
Harry is nice.
Unknown
rconc
[@5: Harry is nice.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule7 <- rule4 <- rule3 <- FAIL)]]
("Harry" "is" "nice" "+")
Harry is not young.
Unknown
inv-rconc
[@3: Harry is young.[CWA. Example of deepest failure = (rule7 <- rule1 <- rule2 <- FAIL)]]
("Harry" "is" "young" "-")
Gary is big.
Unknown
random
[@0: Gary is big.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "big" "+")
Harry is not kind.
Unknown
inv-random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
@0: Bob is red.[(triple1)] Bob is round.[(triple2)] Bob is white.[(triple3)] Fiona is big.[(triple4 OR ((triple6 triple5) -> rule8) OR ((((triple8) -> rule6) triple5) -> rule8) OR ((((triple8 triple7) -> rule1) triple5) -> rule8))] Fiona is kind.[(triple5)] Fiona is nice.[(triple6 OR ((triple8) -> rule6) OR ((triple8 triple4) -> rule4) OR ((triple8 triple7) -> rule1))] Fiona is red.[(triple7)] Fiona is round.[(triple8 OR ((((triple6 triple9) -> rule7)) -> rule3) OR ((((triple6 triple9) -> rule7)) -> rule5) OR ((triple6 ((triple6 triple9) -> rule7)) -> rule2))] Fiona is white.[(triple9)] Gary is round.[(triple10 OR ((triple12) -> rule3) OR ((triple12) -> rule5))] Gary is white.[(triple11)] Gary is young.[(triple12 OR ((((triple10) -> rule6) triple11) -> rule7))] Harry is big.[(triple13)] Harry is red.[(triple14)] Harry is white.[(triple15)] @1: Bob is nice.[(((triple2) -> rule6) OR ((triple2 triple1) -> rule1))] Fiona is young.[(((triple6 triple9) -> rule7) OR ((((triple8) -> rule6) triple9) -> rule7) OR ((((triple8 triple4) -> rule4) triple9) -> rule7) OR ((((triple8 triple7) -> rule1) triple9) -> rule7))] Gary is nice.[(((triple10) -> rule6) OR ((((triple12) -> rule3)) -> rule6) OR ((((triple12) -> rule5)) -> rule6))] @2: Bob is young.[(((((triple2) -> rule6) triple3) -> rule7) OR ((((triple2 triple1) -> rule1) triple3) -> rule7))]
Bob is red.
("Bob" "is" "red" "+")
triple1
Bob is round.
("Bob" "is" "round" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Fiona is big.
("Fiona" "is" "big" "+")
triple4
((triple6 triple5) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple8) -> (rule6 % int2)) triple5) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple8 triple7) -> (rule1 % int2)) triple5) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
((triple8) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple8 triple4) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple8 triple7) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple7
Fiona is round.
("Fiona" "is" "round" "+")
triple8
((((triple6 triple9) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple6 triple9) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((triple6 ((triple6 triple9) -> (rule7 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple9
Gary is round.
("Gary" "is" "round" "+")
triple10
((triple12) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((triple12) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
triple11
Gary is young.
("Gary" "is" "young" "+")
triple12
((((triple10) -> (rule6 % int2)) triple11) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
triple13
Harry is red.
("Harry" "is" "red" "+")
triple14
Harry is white.
("Harry" "is" "white" "+")
triple15
Bob is nice.
("Bob" "is" "nice" "+")
((triple2) -> (rule6 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((triple2 triple1) -> (rule1 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple6 triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple8) -> (rule6 % int2)) triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple8 triple4) -> (rule4 % int2)) triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple8 triple7) -> (rule1 % int2)) triple9) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple10) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple12) -> (rule3 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple12) -> (rule5 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
((((triple2) -> (rule6 % int2)) triple3) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((triple2 triple1) -> (rule1 % int2)) triple3) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2