Dave is blue. Dave is kind. Dave is quiet. Dave is round. Dave is smart. Fiona is kind. Fiona is rough. Fiona is round. Fiona is smart. Gary is kind. Gary is quiet. Harry is blue. Harry is kind. Harry is nice. Harry is rough. Harry is smart. All nice, round things are rough. Quiet, rough things are smart. If Fiona is round and Fiona is kind then Fiona is nice. Blue things are rough. If Harry is blue and Harry is quiet then Harry is kind. If something is quiet and smart then it is nice.
Dave is blue.
("Dave" "is" "blue" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is smart.
("Harry" "is" "smart" "+")
All nice, round things are rough.
((("something" "is" "nice" "+") ("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
Quiet, rough things are smart.
((("something" "is" "quiet" "+") ("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
If Fiona is round and Fiona is kind then Fiona is nice.
((("Fiona" "is" "round" "+") ("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "nice" "+"))
Blue things are rough.
((("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
If Harry is blue and Harry is quiet then Harry is kind.
((("Harry" "is" "blue" "+") ("Harry" "is" "quiet" "+")) -> ("Harry" "is" "kind" "+"))
If something is quiet and smart then it is nice.
((("something" "is" "quiet" "+") ("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
Gary is kind.
True
1
proof
[(triple10)]
("Gary" "is" "kind" "+")
triple10
Dave is not kind.
False
1
inv-proof
[(triple2)]
("Dave" "is" "kind" "-")
triple2
Fiona is nice.
True
3
proof
[(((triple8 triple6) -> rule3))]
("Fiona" "is" "nice" "+")
((triple8 triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not nice.
False
3
inv-proof
[(((triple8 triple6) -> rule3))]
("Fiona" "is" "nice" "-")
((triple8 triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Gary is not smart.
Unknown
inv-rconc
[@2: Gary is smart.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Gary" "is" "smart" "-")
Gary is rough.
Unknown
rconc
[@1: Gary is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "rough" "+")
Harry is not quiet.
Unknown
inv-random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
@0: Dave is blue.[(triple1)] Dave is kind.[(triple2)] Dave is quiet.[(triple3)] Dave is round.[(triple4)] Dave is smart.[(triple5 OR ((triple3 ((triple1) -> rule4)) -> rule2))] Fiona is kind.[(triple6)] Fiona is rough.[(triple7 OR ((((triple8 triple6) -> rule3) triple8) -> rule1))] Fiona is round.[(triple8)] Fiona is smart.[(triple9)] Gary is kind.[(triple10)] Gary is quiet.[(triple11)] Harry is blue.[(triple12)] Harry is kind.[(triple13)] Harry is nice.[(triple14)] Harry is rough.[(triple15 OR ((triple12) -> rule4))] Harry is smart.[(triple16)] @1: Dave is nice.[(((triple3 triple5) -> rule6) OR ((triple3 ((triple3 ((triple1) -> rule4)) -> rule2)) -> rule6))] Dave is rough.[(((triple1) -> rule4) OR ((((triple3 triple5) -> rule6) triple4) -> rule1))] Fiona is nice.[(((triple8 triple6) -> rule3))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
Dave is kind.
("Dave" "is" "kind" "+")
triple2
Dave is quiet.
("Dave" "is" "quiet" "+")
triple3
Dave is round.
("Dave" "is" "round" "+")
triple4
Dave is smart.
("Dave" "is" "smart" "+")
triple5
((triple3 ((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple6
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
((((triple8 triple6) -> (rule3 % int2)) triple8) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
triple8
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
Gary is kind.
("Gary" "is" "kind" "+")
triple10
Gary is quiet.
("Gary" "is" "quiet" "+")
triple11
Harry is blue.
("Harry" "is" "blue" "+")
triple12
Harry is kind.
("Harry" "is" "kind" "+")
triple13
Harry is nice.
("Harry" "is" "nice" "+")
triple14
Harry is rough.
("Harry" "is" "rough" "+")
triple15
((triple12) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
triple16
Dave is nice.
("Dave" "is" "nice" "+")
((triple3 triple5) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple3 ((triple3 ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
((triple1) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple3 triple5) -> (rule6 % int2)) triple4) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple8 triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1