Anne is furry. Anne is rough. Anne is young. Erin is nice. Erin is red. Fiona is furry. Fiona is kind. Fiona is nice. Gary is rough. Gary is white. All red people are young. If someone is rough and nice then they are kind. All young people are rough. If Anne is white and Anne is not red then Anne is not furry. If Anne is nice and Anne is not young then Anne is kind. If Fiona is red and Fiona is not rough then Fiona is not kind.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is young.
("Anne" "is" "young" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
All red people are young.
((("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
If someone is rough and nice then they are kind.
((("someone" "is" "rough" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
All young people are rough.
((("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
If Anne is white and Anne is not red then Anne is not furry.
((("Anne" "is" "white" "+") ("Anne" "is" "red" "~")) -> ("Anne" "is" "furry" "-"))
If Anne is nice and Anne is not young then Anne is kind.
((("Anne" "is" "nice" "+") ("Anne" "is" "young" "~")) -> ("Anne" "is" "kind" "+"))
If Fiona is red and Fiona is not rough then Fiona is not kind.
((("Fiona" "is" "red" "+") ("Fiona" "is" "rough" "~")) -> ("Fiona" "is" "kind" "-"))
Fiona is nice.
True
1
proof
[(triple8)]
("Fiona" "is" "nice" "+")
triple8
Erin is not red.
False
1
inv-proof
[(triple5)]
("Erin" "is" "red" "-")
triple5
Erin is young.
True
2
proof
[(((triple5) -> rule1))]
("Erin" "is" "young" "+")
((triple5) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is not young.
False
2
inv-proof
[(((triple5) -> rule1))]
("Erin" "is" "young" "-")
((triple5) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is rough.
True
3
proof
[(((((triple5) -> rule1)) -> rule3))]
("Erin" "is" "rough" "+")
((((triple5) -> (rule1 % int2))) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is not rough.
False
3
inv-proof
[(((((triple5) -> rule1)) -> rule3))]
("Erin" "is" "rough" "-")
((((triple5) -> (rule1 % int2))) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
True
5
proof
[(((((((triple5) -> rule1)) -> rule3) triple4) -> rule2))]
("Erin" "is" "kind" "+")
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is not kind.
False
5
inv-proof
[(((((((triple5) -> rule1)) -> rule3) triple4) -> rule2))]
("Erin" "is" "kind" "-")
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Gary is not kind.
Unknown
inv-rconc
[@1: Gary is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "kind" "-")
Anne is kind.
Unknown
rconc
[@1: Anne is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "kind" "+")
Gary is not young.
Unknown
inv-rconc
[@1: Gary is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "young" "-")
Fiona is rough.
Unknown
rconc
[@2: Fiona is rough.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("Fiona" "is" "rough" "+")
Gary is not furry.
Unknown
inv-random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Anne is furry.[(triple1)] Anne is rough.[(triple2 OR ((triple3) -> rule3))] Anne is young.[(triple3)] Erin is nice.[(triple4)] Erin is red.[(triple5)] Fiona is furry.[(triple6)] Fiona is kind.[(triple7)] Fiona is nice.[(triple8)] Gary is rough.[(triple9)] Gary is white.[(triple10)] @1: Erin is young.[(((triple5) -> rule1))] @2: Erin is rough.[(((((triple5) -> rule1)) -> rule3))] @3: Erin is kind.[(((((((triple5) -> rule1)) -> rule3) triple4) -> rule2))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
((triple3) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple3
Erin is nice.
("Erin" "is" "nice" "+")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple5
Fiona is furry.
("Fiona" "is" "furry" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
Fiona is nice.
("Fiona" "is" "nice" "+")
triple8
Gary is rough.
("Gary" "is" "rough" "+")
triple9
Gary is white.
("Gary" "is" "white" "+")
triple10
Erin is young.
("Erin" "is" "young" "+")
((triple5) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((((triple5) -> (rule1 % int2))) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3