Bob is big. Bob is green. Bob is red. Bob is round. Dave is big. Dave is cold. Dave is furry. Dave is green. Dave is red. Dave is round. Erin is red. Gary is green. Cold things are red. All big things are round. Cold things are furry. Young, big things are cold. All round, cold things are green. Cold things are young. All cold things are round. Cold, red things are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Erin is red.
("Erin" "is" "red" "+")
Gary is green.
("Gary" "is" "green" "+")
Cold things are red.
((("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
All big things are round.
((("something" "is" "big" "+")) -> ("something" "is" "round" "+"))
Cold things are furry.
((("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
Young, big things are cold.
((("something" "is" "young" "+") ("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
All round, cold things are green.
((("something" "is" "round" "+") ("something" "is" "cold" "+")) -> ("something" "is" "green" "+"))
Cold things are young.
((("something" "is" "cold" "+")) -> ("something" "is" "young" "+"))
All cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
Cold, red things are big.
((("something" "is" "cold" "+") ("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
Dave is green.
True
1
proof
[(triple8 OR ((triple10 triple6) -> rule5) OR ((((triple5) -> rule2) triple6) -> rule5) OR ((((triple6) -> rule7) triple6) -> rule5) OR ((((((triple6 triple9) -> rule8)) -> rule2) triple6) -> rule5) OR ((((((triple6 ((triple6) -> rule1)) -> rule8)) -> rule2) triple6) -> rule5))]
("Dave" "is" "green" "+")
triple8
((triple10 triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple5) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple6) -> (rule7 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((((triple6 triple9) -> (rule8 % int3))) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
((((((triple6 ((triple6) -> (rule1 % int4))) -> (rule8 % int3))) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Dave is not red.
False
1
inv-proof
[(triple9 OR ((triple6) -> rule1))]
("Dave" "is" "red" "-")
triple9
((triple6) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
True
2
proof
[(((triple6) -> rule6))]
("Dave" "is" "young" "+")
((triple6) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is not young.
False
2
inv-proof
[(((triple6) -> rule6))]
("Dave" "is" "young" "-")
((triple6) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Erin is not green.
Unknown
inv-rconc
[@3: Erin is green.[CWA. Example of deepest failure = (rule5 <- rule4 <- rule6 <- FAIL)]]
("Erin" "is" "green" "-")
Gary is big.
Unknown
rconc
[@2: Gary is big.[CWA. Example of deepest failure = (rule8 <- rule4 <- FAIL)]]
("Gary" "is" "big" "+")
@0: Bob is big.[(triple1)] Bob is green.[(triple2)] Bob is red.[(triple3)] Bob is round.[(triple4 OR ((triple1) -> rule2))] Dave is big.[(triple5 OR ((triple6 triple9) -> rule8) OR ((triple6 ((triple6) -> rule1)) -> rule8))] Dave is cold.[(triple6)] Dave is furry.[(triple7 OR ((triple6) -> rule3))] Dave is green.[(triple8 OR ((triple10 triple6) -> rule5) OR ((((triple5) -> rule2) triple6) -> rule5) OR ((((triple6) -> rule7) triple6) -> rule5) OR ((((((triple6 triple9) -> rule8)) -> rule2) triple6) -> rule5) OR ((((((triple6 ((triple6) -> rule1)) -> rule8)) -> rule2) triple6) -> rule5))] Dave is red.[(triple9 OR ((triple6) -> rule1))] Dave is round.[(triple10 OR ((triple5) -> rule2) OR ((triple6) -> rule7) OR ((((triple6 triple9) -> rule8)) -> rule2) OR ((((triple6 ((triple6) -> rule1)) -> rule8)) -> rule2))] Erin is red.[(triple11)] Gary is green.[(triple12)] @1: Dave is young.[(((triple6) -> rule6))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
triple4
((triple1) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
triple5
((triple6 triple9) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((triple6 ((triple6) -> (rule1 % int2))) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
triple6
Dave is furry.
("Dave" "is" "furry" "+")
triple7
((triple6) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple8
((triple10 triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple5) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple6) -> (rule7 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((((triple6 triple9) -> (rule8 % int3))) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
((((((triple6 ((triple6) -> (rule1 % int4))) -> (rule8 % int3))) -> (rule2 % int2)) triple6) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
triple9
((triple6) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple10
((triple5) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple6) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple6 triple9) -> (rule8 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((triple6 ((triple6) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
triple11
Gary is green.
("Gary" "is" "green" "+")
triple12
Dave is young.
("Dave" "is" "young" "+")
((triple6) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1