Anne is white. Anne is young. Charlie is big. Charlie is blue. Charlie is kind. Charlie is nice. Charlie is red. Charlie is white. Charlie is young. Fiona is blue. Fiona is young. Harry is kind. Harry is nice. Harry is white. Harry is young. Red things are nice. If something is kind and nice then it is red. All blue things are white. If Fiona is nice and Fiona is white then Fiona is kind. All nice, big things are blue. All young things are nice.
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
Red things are nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is kind and nice then it is red.
((("something" "is" "kind" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
All blue things are white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If Fiona is nice and Fiona is white then Fiona is kind.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "white" "+")) -> ("Fiona" "is" "kind" "+"))
All nice, big things are blue.
((("something" "is" "nice" "+") ("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
All young things are nice.
((("something" "is" "young" "+")) -> ("something" "is" "nice" "+"))
Charlie is big.
True
1
proof
[(triple3)]
("Charlie" "is" "big" "+")
triple3
Anne is not young.
False
1
inv-proof
[(triple2)]
("Anne" "is" "young" "-")
triple2
Harry is red.
True
3
proof
[(((triple12 triple13) -> rule2) OR ((triple12 ((triple15) -> rule6)) -> rule2))]
("Harry" "is" "red" "+")
((triple12 triple13) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple12 ((triple15) -> (rule6 % int2))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Anne is not nice.
False
2
inv-proof
[(((triple2) -> rule6))]
("Anne" "is" "nice" "-")
((triple2) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Fiona is kind.
True
5
proof
[(((((triple11) -> rule6) ((triple10) -> rule3)) -> rule4))]
("Fiona" "is" "kind" "+")
((((triple11) -> (rule6 % int3)) ((triple10) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is not kind.
False
5
inv-proof
[(((((triple11) -> rule6) ((triple10) -> rule3)) -> rule4))]
("Fiona" "is" "kind" "-")
((((triple11) -> (rule6 % int3)) ((triple10) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is red.
True
8
proof
[(((((((triple11) -> rule6) ((triple10) -> rule3)) -> rule4) ((triple11) -> rule6)) -> rule2))]
("Fiona" "is" "red" "+")
((((((triple11) -> (rule6 % int4)) ((triple10) -> (rule3 % int3))) -> (rule4 % int2)) ((triple11) -> (rule6 % int4))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is not red.
False
8
inv-proof
[(((((((triple11) -> rule6) ((triple10) -> rule3)) -> rule4) ((triple11) -> rule6)) -> rule2))]
("Fiona" "is" "red" "-")
((((((triple11) -> (rule6 % int4)) ((triple10) -> (rule3 % int3))) -> (rule4 % int2)) ((triple11) -> (rule6 % int4))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Anne is not blue.
Unknown
inv-rconc
[@1: Anne is blue.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "blue" "-")
Anne is red.
Unknown
rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "red" "+")
Harry is not blue.
Unknown
inv-rconc
[@1: Harry is blue.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "blue" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
Anne is not kind.
Unknown
inv-random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "-")
Harry is big.
Unknown
random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "+")
@0: Anne is white.[(triple1)] Anne is young.[(triple2)] Charlie is big.[(triple3)] Charlie is blue.[(triple4 OR ((triple6 triple3) -> rule5) OR ((((triple7) -> rule1) triple3) -> rule5) OR ((((triple9) -> rule6) triple3) -> rule5))] Charlie is kind.[(triple5)] Charlie is nice.[(triple6 OR ((triple7) -> rule1) OR ((triple9) -> rule6))] Charlie is red.[(triple7 OR ((triple5 triple6) -> rule2) OR ((triple5 ((triple9) -> rule6)) -> rule2))] Charlie is white.[(triple8 OR ((triple4) -> rule3) OR ((((triple6 triple3) -> rule5)) -> rule3) OR ((((((triple7) -> rule1) triple3) -> rule5)) -> rule3) OR ((((((triple9) -> rule6) triple3) -> rule5)) -> rule3))] Charlie is young.[(triple9)] Fiona is blue.[(triple10)] Fiona is young.[(triple11)] Harry is kind.[(triple12)] Harry is nice.[(triple13 OR ((triple15) -> rule6))] Harry is white.[(triple14)] Harry is young.[(triple15)] @1: Anne is nice.[(((triple2) -> rule6))] Fiona is nice.[(((triple11) -> rule6))] Fiona is white.[(((triple10) -> rule3))] Harry is red.[(((triple12 triple13) -> rule2) OR ((triple12 ((triple15) -> rule6)) -> rule2))] @2: Fiona is kind.[(((((triple11) -> rule6) ((triple10) -> rule3)) -> rule4))] @3: Fiona is red.[(((((((triple11) -> rule6) ((triple10) -> rule3)) -> rule4) ((triple11) -> rule6)) -> rule2))]
Anne is white.
("Anne" "is" "white" "+")
triple1
Anne is young.
("Anne" "is" "young" "+")
triple2
Charlie is big.
("Charlie" "is" "big" "+")
triple3
Charlie is blue.
("Charlie" "is" "blue" "+")
triple4
((triple6 triple3) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple7) -> (rule1 % int2)) triple3) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple9) -> (rule6 % int2)) triple3) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple5
Charlie is nice.
("Charlie" "is" "nice" "+")
triple6
((triple7) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple9) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple7
((triple5 triple6) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple5 ((triple9) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple8
((triple4) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple6 triple3) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((((triple7) -> (rule1 % int3)) triple3) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((((((triple9) -> (rule6 % int3)) triple3) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Fiona is blue.
("Fiona" "is" "blue" "+")
triple10
Fiona is young.
("Fiona" "is" "young" "+")
triple11
Harry is kind.
("Harry" "is" "kind" "+")
triple12
Harry is nice.
("Harry" "is" "nice" "+")
triple13
((triple15) -> (rule6 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple14
Harry is young.
("Harry" "is" "young" "+")
triple15
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple11) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((triple10) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple12 triple13) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple12 ((triple15) -> (rule6 % int2))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple11) -> (rule6 % int3)) ((triple10) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
((((((triple11) -> (rule6 % int4)) ((triple10) -> (rule3 % int3))) -> (rule4 % int2)) ((triple11) -> (rule6 % int4))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4