Charlie is furry. Dave is round. Fiona is furry. Round people are furry. If someone is nice then they are furry. Furry, nice people are smart. Smart, furry people are quiet. If someone is blue and cold then they are quiet. If someone is furry and round then they are nice.
Charlie is furry.
("Charlie" "is" "furry" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Round people are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If someone is nice then they are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Furry, nice people are smart.
((("someone" "is" "furry" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
Smart, furry people are quiet.
((("someone" "is" "smart" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
If someone is blue and cold then they are quiet.
((("someone" "is" "blue" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "quiet" "+"))
If someone is furry and round then they are nice.
((("someone" "is" "furry" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
Charlie is furry.
True
1
proof
[(triple1)]
("Charlie" "is" "furry" "+")
triple1
Charlie is not furry.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "furry" "-")
triple1
Dave is furry.
True
2
proof
[(((triple2) -> rule1))]
("Dave" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not furry.
False
2
inv-proof
[(((triple2) -> rule1))]
("Dave" "is" "furry" "-")
((triple2) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
True
4
proof
[(((((triple2) -> rule1) triple2) -> rule6))]
("Dave" "is" "nice" "+")
((((triple2) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not nice.
False
4
inv-proof
[(((((triple2) -> rule1) triple2) -> rule6))]
("Dave" "is" "nice" "-")
((((triple2) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
True
7
proof
[(((((triple2) -> rule1) ((((triple2) -> rule1) triple2) -> rule6)) -> rule3))]
("Dave" "is" "smart" "+")
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3)) triple2) -> (rule6 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not smart.
False
7
inv-proof
[(((((triple2) -> rule1) ((((triple2) -> rule1) triple2) -> rule6)) -> rule3))]
("Dave" "is" "smart" "-")
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3)) triple2) -> (rule6 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Charlie is not nice.
Unknown
inv-rconc
[@1: Charlie is nice.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "nice" "-")
Charlie is smart.
Unknown
rconc
[@2: Charlie is smart.[CWA. Example of deepest failure = (rule3 <- rule6 <- FAIL)]]
("Charlie" "is" "smart" "+")
Fiona is not smart.
Unknown
inv-rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule3 <- rule6 <- FAIL)]]
("Fiona" "is" "smart" "-")
Fiona is quiet.
Unknown
rconc
[@3: Fiona is quiet.[CWA. Example of deepest failure = (rule4 <- rule3 <- rule6 <- FAIL)]]
("Fiona" "is" "quiet" "+")
Fiona is not blue.
Unknown
inv-random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "-")
Charlie is round.
Unknown
random
[@0: Charlie is round.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "round" "+")
Charlie is not cold.
Unknown
inv-random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
@0: Charlie is furry.[(triple1)] Dave is round.[(triple2)] Fiona is furry.[(triple3)] @1: Dave is furry.[(((triple2) -> rule1))] @2: Dave is nice.[(((((triple2) -> rule1) triple2) -> rule6))] @3: Dave is smart.[(((((triple2) -> rule1) ((((triple2) -> rule1) triple2) -> rule6)) -> rule3))] @4: Dave is quiet.[(((((((triple2) -> rule1) ((((triple2) -> rule1) triple2) -> rule6)) -> rule3) ((triple2) -> rule1)) -> rule4))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Dave is round.
("Dave" "is" "round" "+")
triple2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
Dave is furry.
("Dave" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((((triple2) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3)) triple2) -> (rule6 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
((((((triple2) -> (rule1 % int4)) ((((triple2) -> (rule1 % int4)) triple2) -> (rule6 % int3))) -> (rule3 % int2)) ((triple2) -> (rule1 % int4))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4