Charlie is blue. Charlie is not nice. Charlie is rough. Charlie is round. Charlie is white. Fiona is blue. Fiona is quiet. Fiona is round. Harry is rough. Harry is round. All rough things are quiet. If something is blue then it is not nice. All quiet things are blue. If something is big then it is blue. If Fiona is rough and Fiona is blue then Fiona is round. If something is quiet and not white then it is rough. Big things are rough. If Charlie is not white then Charlie is not rough.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is not nice.
("Charlie" "is" "nice" "-")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
All rough things are quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
If something is blue then it is not nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "-"))
All quiet things are blue.
((("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
If something is big then it is blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
If Fiona is rough and Fiona is blue then Fiona is round.
((("Fiona" "is" "rough" "+") ("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "round" "+"))
If something is quiet and not white then it is rough.
((("something" "is" "quiet" "+") ("something" "is" "white" "~")) -> ("something" "is" "rough" "+"))
Big things are rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
If Charlie is not white then Charlie is not rough.
((("Charlie" "is" "white" "~")) -> ("Charlie" "is" "rough" "-"))
Fiona is quiet.
True
1
proof
[(triple7)]
("Fiona" "is" "quiet" "+")
triple7
Harry is not rough.
False
1
inv-proof
[(triple9)]
("Harry" "is" "rough" "-")
triple9
Charlie is quiet.
True
2
proof
[(((triple3) -> rule1))]
("Charlie" "is" "quiet" "+")
((triple3) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Fiona is nice.
False
2
inv-proof
[(((triple6) -> rule2) OR ((((triple7) -> rule3)) -> rule2))]
("Fiona" "is" "nice" "+")
((triple6) -> (rule2 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
((((triple7) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Harry is blue.
True
3
proof
[(((((triple9) -> rule1)) -> rule3))]
("Harry" "is" "blue" "+")
((((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is not blue.
False
3
inv-proof
[(((((triple9) -> rule1)) -> rule3))]
("Harry" "is" "blue" "-")
((((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is not nice.
True
4
proof
[(((((((triple9) -> rule1)) -> rule3)) -> rule2))]
("Harry" "is" "nice" "-")
((((((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Harry is not nice.
("Harry" "is" "nice" "-")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is nice.
False
4
inv-proof
[(((((((triple9) -> rule1)) -> rule3)) -> rule2))]
("Harry" "is" "nice" "+")
((((((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Harry is not nice.
("Harry" "is" "nice" "-")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Fiona is not rough.
Unknown
inv-rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "rough" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
Harry is not white.
Unknown
inv-random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
Fiona is not white.
Unknown
inv-random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "-")
Harry is big.
Unknown
random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "+")
@0: Charlie is blue.[(triple1 OR ((((triple3) -> rule1)) -> rule3))] Charlie is not nice.[(triple2 OR ((triple1) -> rule2) OR ((((((triple3) -> rule1)) -> rule3)) -> rule2))] Charlie is rough.[(triple3)] Charlie is round.[(triple4)] Charlie is white.[(triple5)] Fiona is blue.[(triple6 OR ((triple7) -> rule3))] Fiona is quiet.[(triple7)] Fiona is round.[(triple8)] Harry is rough.[(triple9)] Harry is round.[(triple10)] @1: Charlie is quiet.[(((triple3) -> rule1))] Fiona is not nice.[(((triple6) -> rule2) OR ((((triple7) -> rule3)) -> rule2))] Harry is quiet.[(((triple9) -> rule1))] @2: Harry is blue.[(((((triple9) -> rule1)) -> rule3))] @3: Harry is not nice.[(((((((triple9) -> rule1)) -> rule3)) -> rule2))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
((((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is not nice.
("Charlie" "is" "nice" "-")
triple2
((triple1) -> (rule2 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
((((((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
Charlie is white.
("Charlie" "is" "white" "+")
triple5
Fiona is blue.
("Fiona" "is" "blue" "+")
triple6
((triple7) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple7
Fiona is round.
("Fiona" "is" "round" "+")
triple8
Harry is rough.
("Harry" "is" "rough" "+")
triple9
Harry is round.
("Harry" "is" "round" "+")
triple10
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple3) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Fiona is not nice.
("Fiona" "is" "nice" "-")
((triple6) -> (rule2 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
((((triple7) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple9) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is not nice.
("Harry" "is" "nice" "-")
((((((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Harry is not nice.
("Harry" "is" "nice" "-")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3