Charlie is furry. Dave is furry. Dave is round. Dave is white. Fiona is blue. Harry is blue. Harry is nice. Nice, quiet things are kind. All furry things are quiet. Quiet things are round. All furry things are blue. All round things are quiet. Nice things are white. If Fiona is kind then Fiona is round. White things are quiet.
Charlie is furry.
("Charlie" "is" "furry" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Nice, quiet things are kind.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
All furry things are quiet.
((("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
Quiet things are round.
((("something" "is" "quiet" "+")) -> ("something" "is" "round" "+"))
All furry things are blue.
((("something" "is" "furry" "+")) -> ("something" "is" "blue" "+"))
All round things are quiet.
((("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
Nice things are white.
((("something" "is" "nice" "+")) -> ("something" "is" "white" "+"))
If Fiona is kind then Fiona is round.
((("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "round" "+"))
White things are quiet.
((("something" "is" "white" "+")) -> ("something" "is" "quiet" "+"))
Harry is nice.
True
1
proof
[(triple7)]
("Harry" "is" "nice" "+")
triple7
Dave is not round.
False
1
inv-proof
[(triple3 OR ((((triple2) -> rule2)) -> rule3) OR ((((triple4) -> rule8)) -> rule3))]
("Dave" "is" "round" "-")
triple3
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple4) -> (rule8 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Charlie is quiet.
True
2
proof
[(((triple1) -> rule2))]
("Charlie" "is" "quiet" "+")
((triple1) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Harry is not white.
False
2
inv-proof
[(((triple7) -> rule6))]
("Harry" "is" "white" "-")
((triple7) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Charlie is round.
True
3
proof
[(((((triple1) -> rule2)) -> rule3))]
("Charlie" "is" "round" "+")
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Harry is not quiet.
False
3
inv-proof
[(((((triple7) -> rule6)) -> rule8))]
("Harry" "is" "quiet" "-")
((((triple7) -> (rule6 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is round.
True
4
proof
[(((((((triple7) -> rule6)) -> rule8)) -> rule3))]
("Harry" "is" "round" "+")
((((((triple7) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is not round.
False
4
inv-proof
[(((((((triple7) -> rule6)) -> rule8)) -> rule3))]
("Harry" "is" "round" "-")
((((((triple7) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Fiona is not white.
Unknown
inv-rconc
[@1: Fiona is white.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "white" "-")
Fiona is round.
Unknown
rconc
[@4: Fiona is round.[CWA. Example of deepest failure = (rule3 <- rule5 <- rule7 <- rule1 <- FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not quiet.
Unknown
inv-rconc
[@4: Fiona is quiet.[CWA. Example of deepest failure = (rule5 <- rule3 <- rule8 <- rule6 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Charlie is white.
Unknown
rconc
[@1: Charlie is white.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "white" "+")
Fiona is not nice.
Unknown
inv-random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "-")
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: Charlie is furry.[(triple1)] Dave is furry.[(triple2)] Dave is round.[(triple3 OR ((((triple2) -> rule2)) -> rule3) OR ((((triple4) -> rule8)) -> rule3))] Dave is white.[(triple4)] Fiona is blue.[(triple5)] Harry is blue.[(triple6)] Harry is nice.[(triple7)] @1: Charlie is blue.[(((triple1) -> rule4))] Charlie is quiet.[(((triple1) -> rule2))] Dave is blue.[(((triple2) -> rule4))] Dave is quiet.[(((triple2) -> rule2) OR ((triple3) -> rule5) OR ((triple4) -> rule8))] Harry is white.[(((triple7) -> rule6))] @2: Charlie is round.[(((((triple1) -> rule2)) -> rule3))] Harry is quiet.[(((((triple7) -> rule6)) -> rule8))] @3: Harry is kind.[(((triple7 ((((triple7) -> rule6)) -> rule8)) -> rule1))] Harry is round.[(((((((triple7) -> rule6)) -> rule8)) -> rule3))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is round.
("Dave" "is" "round" "+")
triple3
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple4) -> (rule8 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
triple4
Fiona is blue.
("Fiona" "is" "blue" "+")
triple5
Harry is blue.
("Harry" "is" "blue" "+")
triple6
Harry is nice.
("Harry" "is" "nice" "+")
triple7
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple1) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple1) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
((triple2) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple3) -> (rule5 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple4) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
((triple7) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
((((triple7) -> (rule6 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
((triple7 ((((triple7) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
((((((triple7) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3