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