Bob is big. Bob is red. Bob is rough. Bob is smart. Bob is young. Erin is big. Erin is smart. Fiona is big. Fiona is furry. Fiona is quiet. Fiona is not rough. Fiona is not smart. Fiona is young. Gary is furry. Gary is red. Gary is not smart. If someone is big then they are quiet. All red people are quiet. All red people are quiet. All quiet, smart people are rough. If Fiona is rough then Fiona is red. All smart people are big. If someone is smart and not young then they are not red. All young, big people are red.
Bob is big.
("Bob" "is" "big" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is not rough.
("Fiona" "is" "rough" "-")
Fiona is not smart.
("Fiona" "is" "smart" "-")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is not smart.
("Gary" "is" "smart" "-")
If someone is big then they are quiet.
((("someone" "is" "big" "+")) -> ("someone" "is" "quiet" "+"))
All red people are quiet.
((("someone" "is" "red" "+")) -> ("someone" "is" "quiet" "+"))
All red people are quiet.
((("someone" "is" "red" "+")) -> ("someone" "is" "quiet" "+"))
All quiet, smart people are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "rough" "+"))
If Fiona is rough then Fiona is red.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "red" "+"))
All smart people are big.
((("someone" "is" "smart" "+")) -> ("someone" "is" "big" "+"))
If someone is smart and not young then they are not red.
((("someone" "is" "smart" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "red" "-"))
All young, big people are red.
((("someone" "is" "young" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
Bob is red.
True
1
proof
[(triple2 OR ((triple5 triple1) -> rule8) OR ((triple5 ((triple4) -> rule6)) -> rule8))]
("Bob" "is" "red" "+")
triple2
((triple5 triple1) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple5 ((triple4) -> (rule6 % int2))) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Fiona is not furry.
False
1
inv-proof
[(triple9)]
("Fiona" "is" "furry" "-")
triple9
Erin is quiet.
True
2
proof
[(((triple6) -> rule1) OR ((((triple7) -> rule6)) -> rule1))]
("Erin" "is" "quiet" "+")
((triple6) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple7) -> (rule6 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Gary is not quiet.
False
2
inv-proof
[(((triple15) -> rule2) OR ((triple15) -> rule3))]
("Gary" "is" "quiet" "-")
((triple15) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((triple15) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Erin is rough.
True
4
proof
[(((((triple6) -> rule1) triple7) -> rule4) OR ((((((triple7) -> rule6)) -> rule1) triple7) -> rule4))]
("Erin" "is" "rough" "+")
((((triple6) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((((triple7) -> (rule6 % int3))) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not rough.
False
4
inv-proof
[(((((triple6) -> rule1) triple7) -> rule4) OR ((((((triple7) -> rule6)) -> rule1) triple7) -> rule4))]
("Erin" "is" "rough" "-")
((((triple6) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((((triple7) -> (rule6 % int3))) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Gary is not rough.
Unknown
inv-rconc
[@1: Gary is rough.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Gary" "is" "rough" "-")
Gary is big.
Unknown
rconc
[@1: Gary is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "big" "+")
Erin is not red.
Unknown
inv-rconc
[@1: Erin is red.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Erin" "is" "red" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Gary is young.
Unknown
random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "+")
@0: Bob is big.[(triple1 OR ((triple4) -> rule6))] Bob is red.[(triple2 OR ((triple5 triple1) -> rule8) OR ((triple5 ((triple4) -> rule6)) -> rule8))] Bob is rough.[(triple3 OR ((((triple1) -> rule1) triple4) -> rule4) OR ((((triple2) -> rule2) triple4) -> rule4) OR ((((triple2) -> rule3) triple4) -> rule4) OR ((((((triple4) -> rule6)) -> rule1) triple4) -> rule4) OR ((((((triple5 triple1) -> rule8)) -> rule2) triple4) -> rule4) OR ((((((triple5 triple1) -> rule8)) -> rule3) triple4) -> rule4) OR ((((((triple5 ((triple4) -> rule6)) -> rule8)) -> rule2) triple4) -> rule4) OR ((((((triple5 ((triple4) -> rule6)) -> rule8)) -> rule3) triple4) -> rule4))] Bob is smart.[(triple4)] Bob is young.[(triple5)] Erin is big.[(triple6 OR ((triple7) -> rule6))] Erin is smart.[(triple7)] Fiona is big.[(triple8)] Fiona is furry.[(triple9)] Fiona is not rough.[(triple11)] Fiona is not smart.[(triple12)] Fiona is quiet.[(triple10 OR ((triple8) -> rule1) OR ((((triple13 triple8) -> rule8)) -> rule2) OR ((((triple13 triple8) -> rule8)) -> rule3))] Fiona is young.[(triple13)] Gary is furry.[(triple14)] Gary is not smart.[(triple16)] Gary is red.[(triple15)] @1: Bob is quiet.[(((triple1) -> rule1) OR ((triple2) -> rule2) OR ((triple2) -> rule3) OR ((((triple4) -> rule6)) -> rule1) OR ((((triple5 triple1) -> rule8)) -> rule2) OR ((((triple5 triple1) -> rule8)) -> rule3) OR ((((triple5 ((triple4) -> rule6)) -> rule8)) -> rule2) OR ((((triple5 ((triple4) -> rule6)) -> rule8)) -> rule3))] Erin is quiet.[(((triple6) -> rule1) OR ((((triple7) -> rule6)) -> rule1))] Fiona is red.[(((triple13 triple8) -> rule8))] Gary is quiet.[(((triple15) -> rule2) OR ((triple15) -> rule3))] @2: Erin is rough.[(((((triple6) -> rule1) triple7) -> rule4) OR ((((((triple7) -> rule6)) -> rule1) triple7) -> rule4))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple2
((triple5 triple1) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple5 ((triple4) -> (rule6 % int2))) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
triple3
((((triple1) -> (rule1 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((triple2) -> (rule2 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((triple2) -> (rule3 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule1 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((((triple5 triple1) -> (rule8 % int3))) -> (rule2 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
((((((triple5 triple1) -> (rule8 % int3))) -> (rule3 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
((((((triple5 ((triple4) -> (rule6 % int4))) -> (rule8 % int3))) -> (rule2 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
((((((triple5 ((triple4) -> (rule6 % int4))) -> (rule8 % int3))) -> (rule3 % int2)) triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
triple4
Bob is young.
("Bob" "is" "young" "+")
triple5
Erin is big.
("Erin" "is" "big" "+")
triple6
((triple7) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
triple7
Fiona is big.
("Fiona" "is" "big" "+")
triple8
Fiona is furry.
("Fiona" "is" "furry" "+")
triple9
Fiona is not rough.
("Fiona" "is" "rough" "-")
triple11
Fiona is not smart.
("Fiona" "is" "smart" "-")
triple12
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple10
((triple8) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((triple13 triple8) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple13 triple8) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple13
Gary is furry.
("Gary" "is" "furry" "+")
triple14
Gary is not smart.
("Gary" "is" "smart" "-")
triple16
Gary is red.
("Gary" "is" "red" "+")
triple15
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple1) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((triple2) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((triple2) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple4) -> (rule6 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple5 triple1) -> (rule8 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple5 triple1) -> (rule8 % int2))) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple5 ((triple4) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((triple5 ((triple4) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple6) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple7) -> (rule6 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((triple13 triple8) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple15) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((triple15) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((((triple6) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((((triple7) -> (rule6 % int3))) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3