Anne is furry. Fiona is red. Harry is young. If something is big then it is rough. All red, kind things are big. Furry things are red. Furry things are kind. All young, round things are big. If Harry is rough then Harry is furry.
Anne is furry.
("Anne" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Harry is young.
("Harry" "is" "young" "+")
If something is big then it is rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
All red, kind things are big.
((("something" "is" "red" "+") ("something" "is" "kind" "+")) -> ("something" "is" "big" "+"))
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
Furry things are kind.
((("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
All young, round things are big.
((("something" "is" "young" "+") ("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If Harry is rough then Harry is furry.
((("Harry" "is" "rough" "+")) -> ("Harry" "is" "furry" "+"))
Anne is furry.
True
1
proof
[(triple1)]
("Anne" "is" "furry" "+")
triple1
Harry is not young.
False
1
inv-proof
[(triple3)]
("Harry" "is" "young" "-")
triple3
Anne is kind.
True
2
proof
[(((triple1) -> rule4))]
("Anne" "is" "kind" "+")
((triple1) -> (rule4 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is not kind.
False
2
inv-proof
[(((triple1) -> rule4))]
("Anne" "is" "kind" "-")
((triple1) -> (rule4 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is big.
True
5
proof
[(((((triple1) -> rule3) ((triple1) -> rule4)) -> rule2))]
("Anne" "is" "big" "+")
((((triple1) -> (rule3 % int3)) ((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is not big.
False
5
inv-proof
[(((((triple1) -> rule3) ((triple1) -> rule4)) -> rule2))]
("Anne" "is" "big" "-")
((((triple1) -> (rule3 % int3)) ((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is rough.
True
6
proof
[(((((((triple1) -> rule3) ((triple1) -> rule4)) -> rule2)) -> rule1))]
("Anne" "is" "rough" "+")
((((((triple1) -> (rule3 % int4)) ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is not rough.
False
6
inv-proof
[(((((((triple1) -> rule3) ((triple1) -> rule4)) -> rule2)) -> rule1))]
("Anne" "is" "rough" "-")
((((((triple1) -> (rule3 % int4)) ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Harry is not red.
Unknown
inv-rconc
[@4: Harry is red.[CWA. Example of deepest failure = (rule3 <- rule6 <- rule1 <- rule2 <- FAIL)]]
("Harry" "is" "red" "-")
Fiona is kind.
Unknown
rconc
[@1: Fiona is kind.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "kind" "+")
Fiona is not big.
Unknown
inv-rconc
[@2: Fiona is big.[CWA. Example of deepest failure = (rule2 <- rule4 <- FAIL)]]
("Fiona" "is" "big" "-")
Harry is furry.
Unknown
rconc
[@4: Harry is furry.[CWA. Example of deepest failure = (rule6 <- rule1 <- rule2 <- rule3 <- FAIL)]]
("Harry" "is" "furry" "+")
Fiona is not young.
Unknown
inv-random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Anne is not young.
Unknown
inv-random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "-")
Harry is round.
Unknown
random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "+")
@0: Anne is furry.[(triple1)] Fiona is red.[(triple2)] Harry is young.[(triple3)] @1: Anne is kind.[(((triple1) -> rule4))] Anne is red.[(((triple1) -> rule3))] @2: Anne is big.[(((((triple1) -> rule3) ((triple1) -> rule4)) -> rule2))] @3: Anne is rough.[(((((((triple1) -> rule3) ((triple1) -> rule4)) -> rule2)) -> rule1))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Fiona is red.
("Fiona" "is" "red" "+")
triple2
Harry is young.
("Harry" "is" "young" "+")
triple3
Anne is kind.
("Anne" "is" "kind" "+")
((triple1) -> (rule4 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
((((triple1) -> (rule3 % int3)) ((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
((((((triple1) -> (rule3 % int4)) ((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4