Bob is big. Bob is furry. Bob is quiet. Bob is rough. Bob is smart. Charlie is furry. Charlie is rough. Charlie is smart. Erin is quiet. Erin is rough. Fiona is big. Fiona is furry. If Bob is big then Bob is rough. All smart things are quiet. Quiet, big things are cold. Young things are rough. If something is smart and rough then it is furry. Rough things are smart. If something is young then it is furry. Rough, big things are furry.
Bob is big.
("Bob" "is" "big" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
If Bob is big then Bob is rough.
((("Bob" "is" "big" "+")) -> ("Bob" "is" "rough" "+"))
All smart things are quiet.
((("something" "is" "smart" "+")) -> ("something" "is" "quiet" "+"))
Quiet, big things are cold.
((("something" "is" "quiet" "+") ("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
Young things are rough.
((("something" "is" "young" "+")) -> ("something" "is" "rough" "+"))
If something is smart and rough then it is furry.
((("something" "is" "smart" "+") ("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Rough things are smart.
((("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
If something is young then it is furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
Rough, big things are furry.
((("something" "is" "rough" "+") ("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
Charlie is rough.
True
1
proof
[(triple7)]
("Charlie" "is" "rough" "+")
triple7
Fiona is not big.
False
1
inv-proof
[(triple11)]
("Fiona" "is" "big" "-")
triple11
Bob is cold.
True
3
proof
[(((triple3 triple1) -> rule3) OR ((((triple5) -> rule2) triple1) -> rule3) OR ((((((triple4) -> rule6)) -> rule2) triple1) -> rule3) OR ((((((((triple1) -> rule1)) -> rule6)) -> rule2) triple1) -> rule3))]
("Bob" "is" "cold" "+")
((triple3 triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple5) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is not cold.
False
3
inv-proof
[(((triple3 triple1) -> rule3) OR ((((triple5) -> rule2) triple1) -> rule3) OR ((((((triple4) -> rule6)) -> rule2) triple1) -> rule3) OR ((((((((triple1) -> rule1)) -> rule6)) -> rule2) triple1) -> rule3))]
("Bob" "is" "cold" "-")
((triple3 triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple5) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Fiona is not quiet.
Unknown
inv-rconc
[@3: Fiona is quiet.[CWA. Example of deepest failure = (rule2 <- rule6 <- rule4 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is rough.
Unknown
rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "rough" "+")
Charlie is not big.
Unknown
inv-random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "-")
Fiona is young.
Unknown
random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "+")
@0: Bob is big.[(triple1)] Bob is furry.[(triple2 OR ((triple4 triple1) -> rule8) OR ((triple5 triple4) -> rule5) OR ((triple5 ((triple1) -> rule1)) -> rule5) OR ((((triple1) -> rule1) triple1) -> rule8) OR ((((triple4) -> rule6) triple4) -> rule5) OR ((((triple4) -> rule6) ((triple1) -> rule1)) -> rule5) OR ((((((triple1) -> rule1)) -> rule6) triple4) -> rule5) OR ((((((triple1) -> rule1)) -> rule6) ((triple1) -> rule1)) -> rule5))] Bob is quiet.[(triple3 OR ((triple5) -> rule2) OR ((((triple4) -> rule6)) -> rule2) OR ((((((triple1) -> rule1)) -> rule6)) -> rule2))] Bob is rough.[(triple4 OR ((triple1) -> rule1))] Bob is smart.[(triple5 OR ((triple4) -> rule6) OR ((((triple1) -> rule1)) -> rule6))] Charlie is furry.[(triple6 OR ((triple8 triple7) -> rule5) OR ((((triple7) -> rule6) triple7) -> rule5))] Charlie is rough.[(triple7)] Charlie is smart.[(triple8 OR ((triple7) -> rule6))] Erin is quiet.[(triple9 OR ((((triple10) -> rule6)) -> rule2))] Erin is rough.[(triple10)] Fiona is big.[(triple11)] Fiona is furry.[(triple12)] @1: Bob is cold.[(((triple3 triple1) -> rule3) OR ((((triple5) -> rule2) triple1) -> rule3) OR ((((((triple4) -> rule6)) -> rule2) triple1) -> rule3) OR ((((((((triple1) -> rule1)) -> rule6)) -> rule2) triple1) -> rule3))] Charlie is quiet.[(((triple8) -> rule2) OR ((((triple7) -> rule6)) -> rule2))] Erin is smart.[(((triple10) -> rule6))] @2: Erin is furry.[(((((triple10) -> rule6) triple10) -> rule5))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple4 triple1) -> (rule8 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple5 triple4) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple5 ((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple1) -> (rule1 % int2)) triple1) -> (rule8 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple4) -> (rule6 % int2)) triple4) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple4) -> (rule6 % int3)) ((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((((triple1) -> (rule1 % int3))) -> (rule6 % int2)) ((triple1) -> (rule1 % int3))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((triple5) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple4) -> (rule6 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
((triple1) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
triple5
((triple4) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
((triple8 triple7) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple7) -> (rule6 % int2)) triple7) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
triple7
Charlie is smart.
("Charlie" "is" "smart" "+")
triple8
((triple7) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
triple9
((((triple10) -> (rule6 % int2))) -> (rule2 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
triple10
Fiona is big.
("Fiona" "is" "big" "+")
triple11
Fiona is furry.
("Fiona" "is" "furry" "+")
triple12
Bob is cold.
("Bob" "is" "cold" "+")
((triple3 triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple5) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple8) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple7) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
((triple10) -> (rule6 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((((triple10) -> (rule6 % int2)) triple10) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2