Anne is kind. Bob is not nice. Bob is white. Bob is young. Dave is blue. Dave is nice. Fiona is young. All blue people are kind. Young, rough people are not kind. Red people are kind. All young people are blue. If someone is young and not white then they are not nice. Blue, kind people are not rough.
Anne is kind.
("Anne" "is" "kind" "+")
Bob is not nice.
("Bob" "is" "nice" "-")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Fiona is young.
("Fiona" "is" "young" "+")
All blue people are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
Young, rough people are not kind.
((("someone" "is" "young" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "-"))
Red people are kind.
((("someone" "is" "red" "+")) -> ("someone" "is" "kind" "+"))
All young people are blue.
((("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
If someone is young and not white then they are not nice.
((("someone" "is" "young" "+") ("someone" "is" "white" "~")) -> ("someone" "is" "nice" "-"))
Blue, kind people are not rough.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "-"))
Dave is nice.
True
1
proof
[(triple6)]
("Dave" "is" "nice" "+")
triple6
Dave is not blue.
False
1
inv-proof
[(triple5)]
("Dave" "is" "blue" "-")
triple5
Fiona is blue.
True
2
proof
[(((triple7) -> rule4))]
("Fiona" "is" "blue" "+")
((triple7) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple5) -> rule1))]
("Dave" "is" "kind" "-")
((triple5) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is kind.
True
3
proof
[(((((triple7) -> rule4)) -> rule1))]
("Fiona" "is" "kind" "+")
((((triple7) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not kind.
False
3
inv-proof
[(((((triple7) -> rule4)) -> rule1))]
("Fiona" "is" "kind" "-")
((((triple7) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not rough.
True
6
proof
[(((((triple7) -> rule4) ((((triple7) -> rule4)) -> rule1)) -> rule6))]
("Fiona" "is" "rough" "-")
((((triple7) -> (rule4 % int3)) ((((triple7) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is not rough.
("Fiona" "is" "rough" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Bob is rough.
False
6
inv-proof
[(((((triple4) -> rule4) ((((triple4) -> rule4)) -> rule1)) -> rule6))]
("Bob" "is" "rough" "+")
((((triple4) -> (rule4 % int3)) ((((triple4) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is not rough.
("Bob" "is" "rough" "-")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Anne is not blue.
Unknown
inv-rconc
[@1: Anne is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Anne" "is" "blue" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
Anne is not rough.
Unknown
inv-random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "-")
Dave is white.
Unknown
random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Fiona is nice.
Unknown
random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "+")
Anne is not red.
Unknown
inv-random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "-")
Anne is young.
Unknown
random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "+")
@0: Anne is kind.[(triple1)] Bob is not nice.[(triple2)] Bob is white.[(triple3)] Bob is young.[(triple4)] Dave is blue.[(triple5)] Dave is nice.[(triple6)] Fiona is young.[(triple7)] @1: Bob is blue.[(((triple4) -> rule4))] Dave is kind.[(((triple5) -> rule1))] Fiona is blue.[(((triple7) -> rule4))] @2: Bob is kind.[(((((triple4) -> rule4)) -> rule1))] Dave is not rough.[(((triple5 ((triple5) -> rule1)) -> rule6))] Fiona is kind.[(((((triple7) -> rule4)) -> rule1))] @3: Bob is not rough.[(((((triple4) -> rule4) ((((triple4) -> rule4)) -> rule1)) -> rule6))] Fiona is not rough.[(((((triple7) -> rule4) ((((triple7) -> rule4)) -> rule1)) -> rule6))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Bob is not nice.
("Bob" "is" "nice" "-")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Bob is young.
("Bob" "is" "young" "+")
triple4
Dave is blue.
("Dave" "is" "blue" "+")
triple5
Dave is nice.
("Dave" "is" "nice" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Bob is blue.
("Bob" "is" "blue" "+")
((triple4) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple5) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple7) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((((triple4) -> (rule4 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Dave is not rough.
("Dave" "is" "rough" "-")
((triple5 ((triple5) -> (rule1 % int2))) -> (rule6 % int1))
Dave is not rough.
("Dave" "is" "rough" "-")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple7) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Bob is not rough.
("Bob" "is" "rough" "-")
((((triple4) -> (rule4 % int3)) ((((triple4) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is not rough.
("Bob" "is" "rough" "-")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Fiona is not rough.
("Fiona" "is" "rough" "-")
((((triple7) -> (rule4 % int3)) ((((triple7) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is not rough.
("Fiona" "is" "rough" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3