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