Charlie is blue. Charlie is nice. Fiona is kind. Fiona is nice. Fiona is round. Fiona is young. Harry is kind. Harry is nice. Harry is round. Harry is young. All red, nice people are blue. All red people are round. If Fiona is round then Fiona is white. Young people are red. If someone is young then they are red. Blue people are kind.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is young.
("Harry" "is" "young" "+")
All red, nice people are blue.
((("someone" "is" "red" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
All red people are round.
((("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
If Fiona is round then Fiona is white.
((("Fiona" "is" "round" "+")) -> ("Fiona" "is" "white" "+"))
Young people are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
If someone is young then they are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
Blue people are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
Charlie is blue.
True
1
proof
[(triple1)]
("Charlie" "is" "blue" "+")
triple1
Harry is not young.
False
1
inv-proof
[(triple10)]
("Harry" "is" "young" "-")
triple10
Fiona is white.
True
2
proof
[(((triple5) -> rule3) OR ((((((triple6) -> rule4)) -> rule2)) -> rule3) OR ((((((triple6) -> rule5)) -> rule2)) -> rule3))]
("Fiona" "is" "white" "+")
((triple5) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((((triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((((triple6) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Harry is not red.
False
2
inv-proof
[(((triple10) -> rule4) OR ((triple10) -> rule5))]
("Harry" "is" "red" "-")
((triple10) -> (rule4 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple10) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Fiona is blue.
True
4
proof
[(((((triple6) -> rule4) triple4) -> rule1) OR ((((triple6) -> rule5) triple4) -> rule1))]
("Fiona" "is" "blue" "+")
((((triple6) -> (rule4 % int2)) triple4) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple6) -> (rule5 % int2)) triple4) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Harry is not blue.
False
4
inv-proof
[(((((triple10) -> rule4) triple8) -> rule1) OR ((((triple10) -> rule5) triple8) -> rule1))]
("Harry" "is" "blue" "-")
((((triple10) -> (rule4 % int2)) triple8) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((((triple10) -> (rule5 % int2)) triple8) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Charlie is not round.
Unknown
inv-rconc
[@2: Charlie is round.[CWA. Example of deepest failure = (rule2 <- rule4 <- FAIL)]]
("Charlie" "is" "round" "-")
Charlie is red.
Unknown
rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "red" "+")
Charlie is not young.
Unknown
inv-random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Charlie is blue.[(triple1)] Charlie is nice.[(triple2)] Fiona is kind.[(triple3 OR ((((((triple6) -> rule4) triple4) -> rule1)) -> rule6) OR ((((((triple6) -> rule5) triple4) -> rule1)) -> rule6))] Fiona is nice.[(triple4)] Fiona is round.[(triple5 OR ((((triple6) -> rule4)) -> rule2) OR ((((triple6) -> rule5)) -> rule2))] Fiona is young.[(triple6)] Harry is kind.[(triple7 OR ((((((triple10) -> rule4) triple8) -> rule1)) -> rule6) OR ((((((triple10) -> rule5) triple8) -> rule1)) -> rule6))] Harry is nice.[(triple8)] Harry is round.[(triple9 OR ((((triple10) -> rule4)) -> rule2) OR ((((triple10) -> rule5)) -> rule2))] Harry is young.[(triple10)] @1: Charlie is kind.[(((triple1) -> rule6))] Fiona is red.[(((triple6) -> rule4) OR ((triple6) -> rule5))] Fiona is white.[(((triple5) -> rule3) OR ((((((triple6) -> rule4)) -> rule2)) -> rule3) OR ((((((triple6) -> rule5)) -> rule2)) -> rule3))] Harry is red.[(((triple10) -> rule4) OR ((triple10) -> rule5))] @2: Fiona is blue.[(((((triple6) -> rule4) triple4) -> rule1) OR ((((triple6) -> rule5) triple4) -> rule1))] Harry is blue.[(((((triple10) -> rule4) triple8) -> rule1) OR ((((triple10) -> rule5) triple8) -> rule1))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple3
((((((triple6) -> (rule4 % int3)) triple4) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((((triple6) -> (rule5 % int3)) triple4) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple4
Fiona is round.
("Fiona" "is" "round" "+")
triple5
((((triple6) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple6) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple6
Harry is kind.
("Harry" "is" "kind" "+")
triple7
((((((triple10) -> (rule4 % int3)) triple8) -> (rule1 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
((((((triple10) -> (rule5 % int3)) triple8) -> (rule1 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is round.
("Harry" "is" "round" "+")
triple9
((((triple10) -> (rule4 % int2))) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((((triple10) -> (rule5 % int2))) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
triple10
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple1) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple6) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple6) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((triple5) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((((triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((((triple6) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
((triple10) -> (rule4 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple10) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple6) -> (rule4 % int2)) triple4) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple6) -> (rule5 % int2)) triple4) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
((((triple10) -> (rule4 % int2)) triple8) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((((triple10) -> (rule5 % int2)) triple8) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2