Bob is kind. Charlie is round. Dave is red. Gary is young. All red people are big. Kind, round people are young. If someone is round then they are kind. If someone is young then they are red. If Gary is round then Gary is big. If Bob is kind and Bob is young then Bob is red. If someone is round then they are kind. Big people are young.
Bob is kind.
("Bob" "is" "kind" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is red.
("Dave" "is" "red" "+")
Gary is young.
("Gary" "is" "young" "+")
All red people are big.
((("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
Kind, round people are young.
((("someone" "is" "kind" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
If someone is round then they are kind.
((("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
If someone is young then they are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
If Gary is round then Gary is big.
((("Gary" "is" "round" "+")) -> ("Gary" "is" "big" "+"))
If Bob is kind and Bob is young then Bob is red.
((("Bob" "is" "kind" "+") ("Bob" "is" "young" "+")) -> ("Bob" "is" "red" "+"))
If someone is round then they are kind.
((("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
Big people are young.
((("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
Charlie is round.
True
1
proof
[(triple2)]
("Charlie" "is" "round" "+")
triple2
Bob is not kind.
False
1
inv-proof
[(triple1)]
("Bob" "is" "kind" "-")
triple1
Gary is red.
True
2
proof
[(((triple4) -> rule4))]
("Gary" "is" "red" "+")
((triple4) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Charlie is not kind.
False
2
inv-proof
[(((triple2) -> rule3) OR ((triple2) -> rule7))]
("Charlie" "is" "kind" "-")
((triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple2) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Dave is young.
True
3
proof
[(((((triple3) -> rule1)) -> rule8))]
("Dave" "is" "young" "+")
((((triple3) -> (rule1 % int2))) -> (rule8 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is not young.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule8))]
("Dave" "is" "young" "-")
((((triple3) -> (rule1 % int2))) -> (rule8 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Charlie is red.
True
5
proof
[(((((((triple2) -> rule3) triple2) -> rule2)) -> rule4) OR ((((((triple2) -> rule7) triple2) -> rule2)) -> rule4))]
("Charlie" "is" "red" "+")
((((((triple2) -> (rule3 % int3)) triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple2) -> (rule7 % int3)) triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is not red.
False
5
inv-proof
[(((((((triple2) -> rule3) triple2) -> rule2)) -> rule4) OR ((((((triple2) -> rule7) triple2) -> rule2)) -> rule4))]
("Charlie" "is" "red" "-")
((((((triple2) -> (rule3 % int3)) triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple2) -> (rule7 % int3)) triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Bob is not big.
Unknown
inv-rconc
[@3: Bob is big.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule2 <- FAIL)]]
("Bob" "is" "big" "-")
Bob is young.
Unknown
rconc
[@4: Bob is young.[CWA. Example of deepest failure = (rule8 <- rule1 <- rule4 <- rule2 <- FAIL)]]
("Bob" "is" "young" "+")
Bob is not red.
Unknown
inv-rconc
[@5: Bob is red.[CWA. Example of deepest failure = (rule4 <- rule8 <- rule1 <- rule6 <- rule2 <- FAIL)]]
("Bob" "is" "red" "-")
Gary is kind.
Unknown
rconc
[@1: Gary is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "kind" "+")
Charlie is not furry.
Unknown
inv-random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
Dave is not nice.
Unknown
inv-random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "-")
Charlie is nice.
Unknown
random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "+")
@0: Bob is kind.[(triple1)] Charlie is round.[(triple2)] Dave is red.[(triple3)] Gary is young.[(triple4)] @1: Charlie is kind.[(((triple2) -> rule3) OR ((triple2) -> rule7))] Dave is big.[(((triple3) -> rule1))] Gary is red.[(((triple4) -> rule4))] @2: Charlie is young.[(((((triple2) -> rule3) triple2) -> rule2) OR ((((triple2) -> rule7) triple2) -> rule2))] Dave is young.[(((((triple3) -> rule1)) -> rule8))] Gary is big.[(((((triple4) -> rule4)) -> rule1))] @3: Charlie is red.[(((((((triple2) -> rule3) triple2) -> rule2)) -> rule4) OR ((((((triple2) -> rule7) triple2) -> rule2)) -> rule4))] @4: Charlie is big.[(((((((((triple2) -> rule3) triple2) -> rule2)) -> rule4)) -> rule1) OR ((((((((triple2) -> rule7) triple2) -> rule2)) -> rule4)) -> rule1))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
Charlie is round.
("Charlie" "is" "round" "+")
triple2
Dave is red.
("Dave" "is" "red" "+")
triple3
Gary is young.
("Gary" "is" "young" "+")
triple4
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple2) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
((triple3) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple4) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((((triple2) -> (rule3 % int2)) triple2) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple2) -> (rule7 % int2)) triple2) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
((((triple3) -> (rule1 % int2))) -> (rule8 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
((((triple4) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((((((triple2) -> (rule3 % int3)) triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple2) -> (rule7 % int3)) triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
((((((((triple2) -> (rule3 % int4)) triple2) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
((((((((triple2) -> (rule7 % int4)) triple2) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4