Dave is big. Dave is green. Dave is kind. Dave is quiet. Fiona is big. Fiona is green. Gary is furry. Gary is green. Gary is kind. Gary is quiet. Harry is big. Harry is furry. Harry is green. Harry is rough. Harry is white. If Fiona is rough then Fiona is quiet. If Dave is furry and Dave is big then Dave is rough. If someone is rough and big then they are furry. If someone is big then they are quiet. Quiet, kind people are rough. All green, furry people are big.
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
If Fiona is rough then Fiona is quiet.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "quiet" "+"))
If Dave is furry and Dave is big then Dave is rough.
((("Dave" "is" "furry" "+") ("Dave" "is" "big" "+")) -> ("Dave" "is" "rough" "+"))
If someone is rough and big then they are furry.
((("someone" "is" "rough" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
If someone is big then they are quiet.
((("someone" "is" "big" "+")) -> ("someone" "is" "quiet" "+"))
Quiet, kind people are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
All green, furry people are big.
((("someone" "is" "green" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "big" "+"))
Fiona is big.
True
1
proof
[(triple5)]
("Fiona" "is" "big" "+")
triple5
Harry is not big.
False
1
inv-proof
[(triple11 OR ((triple13 triple12) -> rule6))]
("Harry" "is" "big" "-")
triple11
((triple13 triple12) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Dave is rough.
True
3
proof
[(((triple4 triple3) -> rule5) OR ((((triple1) -> rule4) triple3) -> rule5))]
("Dave" "is" "rough" "+")
((triple4 triple3) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple1) -> (rule4 % int2)) triple3) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Harry is not quiet.
False
2
inv-proof
[(((triple11) -> rule4) OR ((((triple13 triple12) -> rule6)) -> rule4))]
("Harry" "is" "quiet" "-")
((triple11) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple13 triple12) -> (rule6 % int2))) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Fiona is not rough.
Unknown
inv-rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "rough" "-")
Fiona is furry.
Unknown
rconc
[@2: Fiona is furry.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Fiona" "is" "furry" "+")
Fiona is not kind.
Unknown
inv-random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
@0: Dave is big.[(triple1)] Dave is green.[(triple2)] Dave is kind.[(triple3)] Dave is quiet.[(triple4 OR ((triple1) -> rule4))] Fiona is big.[(triple5)] Fiona is green.[(triple6)] Gary is furry.[(triple7)] Gary is green.[(triple8)] Gary is kind.[(triple9)] Gary is quiet.[(triple10 OR ((((triple8 triple7) -> rule6)) -> rule4))] Harry is big.[(triple11 OR ((triple13 triple12) -> rule6))] Harry is furry.[(triple12 OR ((triple14 triple11) -> rule3))] Harry is green.[(triple13)] Harry is rough.[(triple14)] Harry is white.[(triple15)] @1: Dave is rough.[(((triple4 triple3) -> rule5) OR ((((triple1) -> rule4) triple3) -> rule5))] Fiona is quiet.[(((triple5) -> rule4))] Gary is big.[(((triple8 triple7) -> rule6))] Gary is rough.[(((triple10 triple9) -> rule5) OR ((((((triple8 triple7) -> rule6)) -> rule4) triple9) -> rule5))] Harry is quiet.[(((triple11) -> rule4) OR ((((triple13 triple12) -> rule6)) -> rule4))] @2: Dave is furry.[(((((triple4 triple3) -> rule5) triple1) -> rule3) OR ((((((triple1) -> rule4) triple3) -> rule5) triple1) -> rule3))]
Dave is big.
("Dave" "is" "big" "+")
triple1
Dave is green.
("Dave" "is" "green" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple4
((triple1) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
Gary is furry.
("Gary" "is" "furry" "+")
triple7
Gary is green.
("Gary" "is" "green" "+")
triple8
Gary is kind.
("Gary" "is" "kind" "+")
triple9
Gary is quiet.
("Gary" "is" "quiet" "+")
triple10
((((triple8 triple7) -> (rule6 % int2))) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
triple11
((triple13 triple12) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple12
((triple14 triple11) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
triple13
Harry is rough.
("Harry" "is" "rough" "+")
triple14
Harry is white.
("Harry" "is" "white" "+")
triple15
Dave is rough.
("Dave" "is" "rough" "+")
((triple4 triple3) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple1) -> (rule4 % int2)) triple3) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple5) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple8 triple7) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple10 triple9) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((((triple8 triple7) -> (rule6 % int3))) -> (rule4 % int2)) triple9) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple11) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple13 triple12) -> (rule6 % int2))) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((triple4 triple3) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple1) -> (rule4 % int3)) triple3) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3