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