Anne is cold. Anne is furry. Dave is nice. Fiona is round. Fiona is smart. Gary is cold. Gary is smart. Smart people are cold. If Anne is nice then Anne is not kind. If someone is nice then they are smart. Cold people are red. If someone is nice and furry then they are round. If someone is cold and not kind then they are furry. Red, smart people are furry.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Smart people are cold.
((("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
If Anne is nice then Anne is not kind.
((("Anne" "is" "nice" "+")) -> ("Anne" "is" "kind" "-"))
If someone is nice then they are smart.
((("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
Cold people are red.
((("someone" "is" "cold" "+")) -> ("someone" "is" "red" "+"))
If someone is nice and furry then they are round.
((("someone" "is" "nice" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
If someone is cold and not kind then they are furry.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "furry" "+"))
Red, smart people are furry.
((("someone" "is" "red" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
Gary is smart.
True
1
proof
[(triple7)]
("Gary" "is" "smart" "+")
triple7
Gary is not cold.
False
1
inv-proof
[(triple6 OR ((triple7) -> rule1))]
("Gary" "is" "cold" "-")
triple6
((triple7) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Dave is smart.
True
2
proof
[(((triple3) -> rule3))]
("Dave" "is" "smart" "+")
((triple3) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Anne is not red.
False
2
inv-proof
[(((triple1) -> rule4))]
("Anne" "is" "red" "-")
((triple1) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Fiona is red.
True
3
proof
[(((((triple5) -> rule1)) -> rule4))]
("Fiona" "is" "red" "+")
((((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Dave is not cold.
False
3
inv-proof
[(((((triple3) -> rule3)) -> rule1))]
("Dave" "is" "cold" "-")
((((triple3) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is red.
True
4
proof
[(((((((triple3) -> rule3)) -> rule1)) -> rule4))]
("Dave" "is" "red" "+")
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is not red.
False
4
inv-proof
[(((((((triple3) -> rule3)) -> rule1)) -> rule4))]
("Dave" "is" "red" "-")
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is furry.
True
7
proof
[(((((((((triple3) -> rule3)) -> rule1)) -> rule4) ((triple3) -> rule3)) -> rule7))]
("Dave" "is" "furry" "+")
((((((((triple3) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((triple3) -> (rule3 % int4))) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is not furry.
False
7
inv-proof
[(((((((((triple3) -> rule3)) -> rule1)) -> rule4) ((triple3) -> rule3)) -> rule7))]
("Dave" "is" "furry" "-")
((((((((triple3) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((triple3) -> (rule3 % int4))) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is round.
True
9
proof
[(((triple3 ((((((((triple3) -> rule3)) -> rule1)) -> rule4) ((triple3) -> rule3)) -> rule7)) -> rule5))]
("Dave" "is" "round" "+")
((triple3 ((((((((triple3) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((triple3) -> (rule3 % int5))) -> (rule7 % int2))) -> (rule5 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
int5
Dave is not round.
False
9
inv-proof
[(((triple3 ((((((((triple3) -> rule3)) -> rule1)) -> rule4) ((triple3) -> rule3)) -> rule7)) -> rule5))]
("Dave" "is" "round" "-")
((triple3 ((((((((triple3) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((triple3) -> (rule3 % int5))) -> (rule7 % int2))) -> (rule5 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
int5
Anne is not round.
Unknown
inv-rconc
[@1: Anne is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "round" "-")
Anne is smart.
Unknown
rconc
[@1: Anne is smart.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "smart" "+")
Gary is not round.
Unknown
inv-rconc
[@1: Gary is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "round" "-")
Anne is kind.
Unknown
random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "+")
Gary is not kind.
Unknown
inv-random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "-")
Gary is nice.
Unknown
random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "+")
Fiona is not kind.
Unknown
inv-random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "-")
Anne is nice.
Unknown
random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "+")
Fiona is not nice.
Unknown
inv-random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "-")
Dave is kind.
Unknown
random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "+")
@0: Anne is cold.[(triple1)] Anne is furry.[(triple2)] Dave is nice.[(triple3)] Fiona is round.[(triple4)] Fiona is smart.[(triple5)] Gary is cold.[(triple6 OR ((triple7) -> rule1))] Gary is smart.[(triple7)] @1: Anne is red.[(((triple1) -> rule4))] Dave is smart.[(((triple3) -> rule3))] Fiona is cold.[(((triple5) -> rule1))] Gary is red.[(((triple6) -> rule4) OR ((((triple7) -> rule1)) -> rule4))] @2: Dave is cold.[(((((triple3) -> rule3)) -> rule1))] Fiona is red.[(((((triple5) -> rule1)) -> rule4))] Gary is furry.[(((((triple6) -> rule4) triple7) -> rule7) OR ((((((triple7) -> rule1)) -> rule4) triple7) -> rule7))] @3: Dave is red.[(((((((triple3) -> rule3)) -> rule1)) -> rule4))] Fiona is furry.[(((((((triple5) -> rule1)) -> rule4) triple5) -> rule7))] @4: Dave is furry.[(((((((((triple3) -> rule3)) -> rule1)) -> rule4) ((triple3) -> rule3)) -> rule7))] @5: Dave is round.[(((triple3 ((((((((triple3) -> rule3)) -> rule1)) -> rule4) ((triple3) -> rule3)) -> rule7)) -> rule5))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple3
Fiona is round.
("Fiona" "is" "round" "+")
triple4
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
Gary is cold.
("Gary" "is" "cold" "+")
triple6
((triple7) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
triple7
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple3) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple5) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple6) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple7) -> (rule1 % int2))) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
((((triple3) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((((triple6) -> (rule4 % int2)) triple7) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((((triple7) -> (rule1 % int3))) -> (rule4 % int2)) triple7) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((((triple5) -> (rule1 % int3))) -> (rule4 % int2)) triple5) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
((((((((triple3) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((triple3) -> (rule3 % int4))) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
((triple3 ((((((((triple3) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((triple3) -> (rule3 % int5))) -> (rule7 % int2))) -> (rule5 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
int5