Charlie is nice. Fiona is kind. Fiona is not nice. Fiona is rough. Fiona is not young. Gary is rough. Gary is young. If Fiona is nice and Fiona is white then Fiona is round. Nice, rough people are kind. If someone is young then they are not kind. All round people are blue. All white people are round. If Fiona is rough and Fiona is round then Fiona is nice. If Gary is young then Gary is rough. If Gary is rough then Gary is round.
Charlie is nice.
("Charlie" "is" "nice" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is not young.
("Fiona" "is" "young" "-")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is young.
("Gary" "is" "young" "+")
If Fiona is nice and Fiona is white then Fiona is round.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "white" "+")) -> ("Fiona" "is" "round" "+"))
Nice, rough people are kind.
((("someone" "is" "nice" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If someone is young then they are not kind.
((("someone" "is" "young" "+")) -> ("someone" "is" "kind" "-"))
All round people are blue.
((("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
All white people are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If Fiona is rough and Fiona is round then Fiona is nice.
((("Fiona" "is" "rough" "+") ("Fiona" "is" "round" "+")) -> ("Fiona" "is" "nice" "+"))
If Gary is young then Gary is rough.
((("Gary" "is" "young" "+")) -> ("Gary" "is" "rough" "+"))
If Gary is rough then Gary is round.
((("Gary" "is" "rough" "+")) -> ("Gary" "is" "round" "+"))
Fiona is kind.
True
1
proof
[(triple2)]
("Fiona" "is" "kind" "+")
triple2
Fiona is nice.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "nice" "+")
triple3
Gary is not kind.
True
2
proof
[(((triple7) -> rule3))]
("Gary" "is" "kind" "-")
((triple7) -> (rule3 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is kind.
False
2
inv-proof
[(((triple7) -> rule3))]
("Gary" "is" "kind" "+")
((triple7) -> (rule3 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is blue.
True
3
proof
[(((((triple6) -> rule8)) -> rule4) OR ((((((triple7) -> rule7)) -> rule8)) -> rule4))]
("Gary" "is" "blue" "+")
((((triple6) -> (rule8 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((((triple7) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is not blue.
False
3
inv-proof
[(((((triple6) -> rule8)) -> rule4) OR ((((((triple7) -> rule7)) -> rule8)) -> rule4))]
("Gary" "is" "blue" "-")
((((triple6) -> (rule8 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((((triple7) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Fiona is not blue.
Unknown
inv-rconc
[@2: Fiona is blue.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Fiona" "is" "blue" "-")
Charlie is blue.
Unknown
rconc
[@2: Charlie is blue.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Charlie" "is" "blue" "+")
Fiona is not round.
Unknown
inv-rconc
[@1: Fiona is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "round" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
Charlie is not rough.
Unknown
inv-random
[@0: Charlie is rough.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "rough" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
@0: Charlie is nice.[(triple1)] Fiona is kind.[(triple2)] Fiona is not nice.[(triple3)] Fiona is not young.[(triple5)] Fiona is rough.[(triple4)] Gary is rough.[(triple6 OR ((triple7) -> rule7))] Gary is young.[(triple7)] @1: Gary is not kind.[(((triple7) -> rule3))] Gary is round.[(((triple6) -> rule8) OR ((((triple7) -> rule7)) -> rule8))] @2: Gary is blue.[(((((triple6) -> rule8)) -> rule4) OR ((((((triple7) -> rule7)) -> rule8)) -> rule4))]
Charlie is nice.
("Charlie" "is" "nice" "+")
triple1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple2
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple3
Fiona is not young.
("Fiona" "is" "young" "-")
triple5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple4
Gary is rough.
("Gary" "is" "rough" "+")
triple6
((triple7) -> (rule7 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
triple7
Gary is not kind.
("Gary" "is" "kind" "-")
((triple7) -> (rule3 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple6) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple7) -> (rule7 % int2))) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((((triple6) -> (rule8 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((((triple7) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3