Dave is quiet. Fiona is nice. Fiona is smart. Gary is not furry. Gary is quiet. Gary is not rough. Gary is round. Harry is nice. Harry is quiet. Harry is rough. If something is big and smart then it is round. All rough things are smart. If something is smart and not nice then it is big. All smart things are big. If Fiona is nice then Fiona is not rough. If Fiona is big then Fiona is smart.
Dave is quiet.
("Dave" "is" "quiet" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is not furry.
("Gary" "is" "furry" "-")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is not rough.
("Gary" "is" "rough" "-")
Gary is round.
("Gary" "is" "round" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If something is big and smart then it is round.
((("something" "is" "big" "+") ("something" "is" "smart" "+")) -> ("something" "is" "round" "+"))
All rough things are smart.
((("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
If something is smart and not nice then it is big.
((("something" "is" "smart" "+") ("something" "is" "nice" "~")) -> ("something" "is" "big" "+"))
All smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
If Fiona is nice then Fiona is not rough.
((("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "rough" "-"))
If Fiona is big then Fiona is smart.
((("Fiona" "is" "big" "+")) -> ("Fiona" "is" "smart" "+"))
Harry is nice.
True
1
proof
[(triple8)]
("Harry" "is" "nice" "+")
triple8
Fiona is not nice.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "nice" "-")
triple2
Harry is smart.
True
2
proof
[(((triple10) -> rule2))]
("Harry" "is" "smart" "+")
((triple10) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Fiona is rough.
False
2
inv-proof
[(((triple2) -> rule5))]
("Fiona" "is" "rough" "+")
((triple2) -> (rule5 % int1))
Fiona is not rough.
("Fiona" "is" "rough" "-")
int1
Fiona is round.
True
4
proof
[(((((triple3) -> rule4) triple3) -> rule1))]
("Fiona" "is" "round" "+")
((((triple3) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Harry is not big.
False
3
inv-proof
[(((((triple10) -> rule2)) -> rule4))]
("Harry" "is" "big" "-")
((((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is round.
True
6
proof
[(((((((triple10) -> rule2)) -> rule4) ((triple10) -> rule2)) -> rule1))]
("Harry" "is" "round" "+")
((((((triple10) -> (rule2 % int3))) -> (rule4 % int2)) ((triple10) -> (rule2 % int3))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is not round.
False
6
inv-proof
[(((((((triple10) -> rule2)) -> rule4) ((triple10) -> rule2)) -> rule1))]
("Harry" "is" "round" "-")
((((((triple10) -> (rule2 % int3))) -> (rule4 % int2)) ((triple10) -> (rule2 % int3))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Gary is not smart.
Unknown
inv-rconc
[@1: Gary is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "smart" "-")
Dave is round.
Unknown
rconc
[@2: Dave is round.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Dave" "is" "round" "+")
Dave is not smart.
Unknown
inv-rconc
[@1: Dave is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "smart" "-")
Gary is big.
Unknown
rconc
[@2: Gary is big.[CWA. Example of deepest failure = (rule4 <- rule2 <- FAIL)]]
("Gary" "is" "big" "+")
Dave is not furry.
Unknown
inv-random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Harry is furry.
Unknown
random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "+")
@0: Dave is quiet.[(triple1)] Fiona is nice.[(triple2)] Fiona is smart.[(triple3)] Gary is not furry.[(triple4)] Gary is not rough.[(triple6)] Gary is quiet.[(triple5)] Gary is round.[(triple7)] Harry is nice.[(triple8)] Harry is quiet.[(triple9)] Harry is rough.[(triple10)] @1: Fiona is big.[(((triple3) -> rule4))] Fiona is not rough.[(((triple2) -> rule5))] Harry is smart.[(((triple10) -> rule2))] @2: Fiona is round.[(((((triple3) -> rule4) triple3) -> rule1))] Harry is big.[(((((triple10) -> rule2)) -> rule4))] @3: Harry is round.[(((((((triple10) -> rule2)) -> rule4) ((triple10) -> rule2)) -> rule1))]
Dave is quiet.
("Dave" "is" "quiet" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple3
Gary is not furry.
("Gary" "is" "furry" "-")
triple4
Gary is not rough.
("Gary" "is" "rough" "-")
triple6
Gary is quiet.
("Gary" "is" "quiet" "+")
triple5
Gary is round.
("Gary" "is" "round" "+")
triple7
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is quiet.
("Harry" "is" "quiet" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Fiona is big.
("Fiona" "is" "big" "+")
((triple3) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not rough.
("Fiona" "is" "rough" "-")
((triple2) -> (rule5 % int1))
Fiona is not rough.
("Fiona" "is" "rough" "-")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple10) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((((triple3) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
((((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
((((((triple10) -> (rule2 % int3))) -> (rule4 % int2)) ((triple10) -> (rule2 % int3))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3