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