Dave is furry. Dave is nice. Fiona is nice. Round things are young. All red things are young. Quiet, green things are young. Young things are round. All furry, nice things are red. If something is young and not furry then it is not red. All young things are red. All nice, quiet things are green.
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Round things are young.
((("something" "is" "round" "+")) -> ("something" "is" "young" "+"))
All red things are young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
Quiet, green things are young.
((("something" "is" "quiet" "+") ("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
Young things are round.
((("something" "is" "young" "+")) -> ("something" "is" "round" "+"))
All furry, nice things are red.
((("something" "is" "furry" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
If something is young and not furry then it is not red.
((("something" "is" "young" "+") ("something" "is" "furry" "~")) -> ("something" "is" "red" "-"))
All young things are red.
((("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
All nice, quiet things are green.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
Dave is furry.
True
1
proof
[(triple1)]
("Dave" "is" "furry" "+")
triple1
Dave is not furry.
False
1
inv-proof
[(triple1)]
("Dave" "is" "furry" "-")
triple1
Dave is red.
True
3
proof
[(((triple1 triple2) -> rule5))]
("Dave" "is" "red" "+")
((triple1 triple2) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is not red.
False
3
inv-proof
[(((triple1 triple2) -> rule5))]
("Dave" "is" "red" "-")
((triple1 triple2) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
True
4
proof
[(((((triple1 triple2) -> rule5)) -> rule2))]
("Dave" "is" "young" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is not young.
False
4
inv-proof
[(((((triple1 triple2) -> rule5)) -> rule2))]
("Dave" "is" "young" "-")
((((triple1 triple2) -> (rule5 % int2))) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is round.
True
5
proof
[(((((((triple1 triple2) -> rule5)) -> rule2)) -> rule4))]
("Dave" "is" "round" "+")
((((((triple1 triple2) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is not round.
False
5
inv-proof
[(((((((triple1 triple2) -> rule5)) -> rule2)) -> rule4))]
("Dave" "is" "round" "-")
((((((triple1 triple2) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Fiona is not green.
Unknown
inv-rconc
[@1: Fiona is green.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Fiona" "is" "green" "-")
Fiona is round.
Unknown
rconc
[@4: Fiona is round.[CWA. Example of deepest failure = (rule4 <- rule2 <- rule7 <- rule1 <- FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not red.
Unknown
inv-rconc
[@5: Fiona is red.[CWA. Example of deepest failure = (rule7 <- rule1 <- rule4 <- rule2 <- rule5 <- FAIL)]]
("Fiona" "is" "red" "-")
Fiona is young.
Unknown
rconc
[@5: Fiona is young.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule2 <- rule7 <- rule3 <- FAIL)]]
("Fiona" "is" "young" "+")
Fiona is not quiet.
Unknown
inv-random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
@0: Dave is furry.[(triple1)] Dave is nice.[(triple2)] Fiona is nice.[(triple3)] @1: Dave is red.[(((triple1 triple2) -> rule5))] @2: Dave is young.[(((((triple1 triple2) -> rule5)) -> rule2))] @3: Dave is round.[(((((((triple1 triple2) -> rule5)) -> rule2)) -> rule4))]
Dave is furry.
("Dave" "is" "furry" "+")
triple1
Dave is nice.
("Dave" "is" "nice" "+")
triple2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple3
Dave is red.
("Dave" "is" "red" "+")
((triple1 triple2) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((((((triple1 triple2) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3