Anne is cold. Anne is furry. Charlie is kind. Charlie is not red. Fiona is not cold. Fiona is furry. Fiona is red. Harry is not cold. Harry is nice. Harry is smart. If Charlie is round then Charlie is not furry. Round things are not smart. Furry things are red. All red things are round. If something is cold and not smart then it is nice. If Fiona is kind and Fiona is smart then Fiona is nice. If something is nice and not smart then it is not kind. All smart things are not kind.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is not red.
("Charlie" "is" "red" "-")
Fiona is not cold.
("Fiona" "is" "cold" "-")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Harry is not cold.
("Harry" "is" "cold" "-")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If Charlie is round then Charlie is not furry.
((("Charlie" "is" "round" "+")) -> ("Charlie" "is" "furry" "-"))
Round things are not smart.
((("something" "is" "round" "+")) -> ("something" "is" "smart" "-"))
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
All red things are round.
((("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
If something is cold and not smart then it is nice.
((("something" "is" "cold" "+") ("something" "is" "smart" "~")) -> ("something" "is" "nice" "+"))
If Fiona is kind and Fiona is smart then Fiona is nice.
((("Fiona" "is" "kind" "+") ("Fiona" "is" "smart" "+")) -> ("Fiona" "is" "nice" "+"))
If something is nice and not smart then it is not kind.
((("something" "is" "nice" "+") ("something" "is" "smart" "~")) -> ("something" "is" "kind" "-"))
All smart things are not kind.
((("something" "is" "smart" "+")) -> ("something" "is" "kind" "-"))
Harry is smart.
True
1
proof
[(triple10)]
("Harry" "is" "smart" "+")
triple10
Harry is not nice.
False
1
inv-proof
[(triple9)]
("Harry" "is" "nice" "-")
triple9
Fiona is round.
True
2
proof
[(((triple7) -> rule4) OR ((((triple6) -> rule3)) -> rule4))]
("Fiona" "is" "round" "+")
((triple7) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Anne is not red.
False
2
inv-proof
[(((triple2) -> rule3))]
("Anne" "is" "red" "-")
((triple2) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Fiona is not smart.
True
3
proof
[(((((triple7) -> rule4)) -> rule2) OR ((((((triple6) -> rule3)) -> rule4)) -> rule2))]
("Fiona" "is" "smart" "-")
((((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is not smart.
("Fiona" "is" "smart" "-")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((((triple6) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is not smart.
("Fiona" "is" "smart" "-")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Anne is not round.
False
3
inv-proof
[(((((triple2) -> rule3)) -> rule4))]
("Anne" "is" "round" "-")
((((triple2) -> (rule3 % int2))) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is not smart.
True
4
proof
[(((((((triple2) -> rule3)) -> rule4)) -> rule2))]
("Anne" "is" "smart" "-")
((((((triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Anne is not smart.
("Anne" "is" "smart" "-")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is smart.
False
4
inv-proof
[(((((((triple2) -> rule3)) -> rule4)) -> rule2))]
("Anne" "is" "smart" "+")
((((((triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Anne is not smart.
("Anne" "is" "smart" "-")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is nice.
True
6
proof
[(((triple1 ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule5))]
("Anne" "is" "nice" "+")
((triple1 ((((((triple2) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not smart.
("Anne" "is" "smart" "-")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is not nice.
False
6
inv-proof
[(((triple1 ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule5))]
("Anne" "is" "nice" "-")
((triple1 ((((((triple2) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not smart.
("Anne" "is" "smart" "-")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is not kind.
True
11
proof
[(((((triple1 ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule5) ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule7))]
("Anne" "is" "kind" "-")
((((triple1 ((((((triple2) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((((((triple2) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is not smart.
("Anne" "is" "smart" "-")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Anne is kind.
False
11
inv-proof
[(((((triple1 ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule5) ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule7))]
("Anne" "is" "kind" "+")
((((triple1 ((((((triple2) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((((((triple2) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is not smart.
("Anne" "is" "smart" "-")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Fiona is not nice.
Unknown
inv-rconc
[@1: Fiona is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "nice" "-")
Harry is red.
Unknown
rconc
[@1: Harry is red.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "red" "+")
Charlie is not nice.
Unknown
inv-rconc
[@1: Charlie is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "nice" "-")
Charlie is round.
Unknown
rconc
[@1: Charlie is round.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "round" "+")
Harry is not round.
Unknown
inv-rconc
[@2: Harry is round.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Harry" "is" "round" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
Harry is not furry.
Unknown
inv-random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
Charlie is not cold.
Unknown
inv-random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
@0: Anne is cold.[(triple1)] Anne is furry.[(triple2)] Charlie is kind.[(triple3)] Charlie is not red.[(triple4)] Fiona is furry.[(triple6)] Fiona is not cold.[(triple5)] Fiona is red.[(triple7 OR ((triple6) -> rule3))] Harry is nice.[(triple9)] Harry is not cold.[(triple8)] Harry is smart.[(triple10)] @1: Anne is red.[(((triple2) -> rule3))] Fiona is round.[(((triple7) -> rule4) OR ((((triple6) -> rule3)) -> rule4))] Harry is not kind.[(((triple10) -> rule8))] @2: Anne is round.[(((((triple2) -> rule3)) -> rule4))] Fiona is not smart.[(((((triple7) -> rule4)) -> rule2) OR ((((((triple6) -> rule3)) -> rule4)) -> rule2))] @3: Anne is not smart.[(((((((triple2) -> rule3)) -> rule4)) -> rule2))] @4: Anne is nice.[(((triple1 ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule5))] @5: Anne is not kind.[(((((triple1 ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule5) ((((((triple2) -> rule3)) -> rule4)) -> rule2)) -> rule7))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple3
Charlie is not red.
("Charlie" "is" "red" "-")
triple4
Fiona is furry.
("Fiona" "is" "furry" "+")
triple6
Fiona is not cold.
("Fiona" "is" "cold" "-")
triple5
Fiona is red.
("Fiona" "is" "red" "+")
triple7
((triple6) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple9
Harry is not cold.
("Harry" "is" "cold" "-")
triple8
Harry is smart.
("Harry" "is" "smart" "+")
triple10
Anne is red.
("Anne" "is" "red" "+")
((triple2) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple7) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Harry is not kind.
("Harry" "is" "kind" "-")
((triple10) -> (rule8 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Anne is round.
("Anne" "is" "round" "+")
((((triple2) -> (rule3 % int2))) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Fiona is not smart.
("Fiona" "is" "smart" "-")
((((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is not smart.
("Fiona" "is" "smart" "-")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((((triple6) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is not smart.
("Fiona" "is" "smart" "-")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Anne is not smart.
("Anne" "is" "smart" "-")
((((((triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Anne is not smart.
("Anne" "is" "smart" "-")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
((triple1 ((((((triple2) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not smart.
("Anne" "is" "smart" "-")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is not kind.
("Anne" "is" "kind" "-")
((((triple1 ((((((triple2) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((((((triple2) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is not smart.
("Anne" "is" "smart" "-")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5