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