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