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