Bob is big. Bob is green. Bob is kind. Bob is nice. Bob is smart. Bob is white. Bob is young. Dave is big. Dave is green. Dave is kind. Dave is nice. Erin is kind. Gary is kind. Gary is nice. Gary is smart. Smart, nice people are big. All big, kind people are young. Nice people are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Smart, nice people are big.
((("someone" "is" "smart" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "big" "+"))
All big, kind people are young.
((("someone" "is" "big" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Nice people are big.
((("someone" "is" "nice" "+")) -> ("someone" "is" "big" "+"))
Bob is smart.
True
1
proof
[(triple5)]
("Bob" "is" "smart" "+")
triple5
Bob is not green.
False
1
inv-proof
[(triple2)]
("Bob" "is" "green" "-")
triple2
Dave is young.
True
3
proof
[(((triple8 triple10) -> rule2) OR ((((triple11) -> rule3) triple10) -> rule2))]
("Dave" "is" "young" "+")
((triple8 triple10) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple11) -> (rule3 % int2)) triple10) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Gary is not big.
False
2
inv-proof
[(((triple14) -> rule3) OR ((triple15 triple14) -> rule1))]
("Gary" "is" "big" "-")
((triple14) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple15 triple14) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
True
4
proof
[(((((triple14) -> rule3) triple13) -> rule2) OR ((((triple15 triple14) -> rule1) triple13) -> rule2))]
("Gary" "is" "young" "+")
((((triple14) -> (rule3 % int2)) triple13) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple15 triple14) -> (rule1 % int2)) triple13) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is not young.
False
4
inv-proof
[(((((triple14) -> rule3) triple13) -> rule2) OR ((((triple15 triple14) -> rule1) triple13) -> rule2))]
("Gary" "is" "young" "-")
((((triple14) -> (rule3 % int2)) triple13) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple15 triple14) -> (rule1 % int2)) triple13) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Erin is not young.
Unknown
inv-rconc
[@2: Erin is young.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Erin" "is" "young" "-")
Erin is big.
Unknown
rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Erin" "is" "big" "+")
Gary is not white.
Unknown
inv-random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
Dave is not smart.
Unknown
inv-random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "-")
Gary is green.
Unknown
random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "+")
@0: Bob is big.[(triple1 OR ((triple4) -> rule3) OR ((triple5 triple4) -> rule1))] Bob is green.[(triple2)] Bob is kind.[(triple3)] Bob is nice.[(triple4)] Bob is smart.[(triple5)] Bob is white.[(triple6)] Bob is young.[(triple7 OR ((triple1 triple3) -> rule2) OR ((((triple4) -> rule3) triple3) -> rule2) OR ((((triple5 triple4) -> rule1) triple3) -> rule2))] Dave is big.[(triple8 OR ((triple11) -> rule3))] Dave is green.[(triple9)] Dave is kind.[(triple10)] Dave is nice.[(triple11)] Erin is kind.[(triple12)] Gary is kind.[(triple13)] Gary is nice.[(triple14)] Gary is smart.[(triple15)] @1: Dave is young.[(((triple8 triple10) -> rule2) OR ((((triple11) -> rule3) triple10) -> rule2))] Gary is big.[(((triple14) -> rule3) OR ((triple15 triple14) -> rule1))] @2: Gary is young.[(((((triple14) -> rule3) triple13) -> rule2) OR ((((triple15 triple14) -> rule1) triple13) -> rule2))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple5 triple4) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Bob is white.
("Bob" "is" "white" "+")
triple6
Bob is young.
("Bob" "is" "young" "+")
triple7
((triple1 triple3) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple4) -> (rule3 % int2)) triple3) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple5 triple4) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
triple8
((triple11) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple9
Dave is kind.
("Dave" "is" "kind" "+")
triple10
Dave is nice.
("Dave" "is" "nice" "+")
triple11
Erin is kind.
("Erin" "is" "kind" "+")
triple12
Gary is kind.
("Gary" "is" "kind" "+")
triple13
Gary is nice.
("Gary" "is" "nice" "+")
triple14
Gary is smart.
("Gary" "is" "smart" "+")
triple15
Dave is young.
("Dave" "is" "young" "+")
((triple8 triple10) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple11) -> (rule3 % int2)) triple10) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
((triple14) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple15 triple14) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((((triple14) -> (rule3 % int2)) triple13) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple15 triple14) -> (rule1 % int2)) triple13) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2