Anne is big. Erin is cold. Erin is nice. Erin is rough. Gary is nice. Harry is nice. Harry is round. If something is rough then it is big. All cold things are rough. If Harry is red and Harry is not round then Harry is cold. All round, red things are cold. Nice things are red. If something is cold and not round then it is nice. If Anne is quiet and Anne is not round then Anne is big. If something is nice and not red then it is quiet. If something is big and red then it is quiet.
Anne is big.
("Anne" "is" "big" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is round.
("Harry" "is" "round" "+")
If something is rough then it is big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
All cold things are rough.
((("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
If Harry is red and Harry is not round then Harry is cold.
((("Harry" "is" "red" "+") ("Harry" "is" "round" "~")) -> ("Harry" "is" "cold" "+"))
All round, red things are cold.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
Nice things are red.
((("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
If something is cold and not round then it is nice.
((("something" "is" "cold" "+") ("something" "is" "round" "~")) -> ("something" "is" "nice" "+"))
If Anne is quiet and Anne is not round then Anne is big.
((("Anne" "is" "quiet" "+") ("Anne" "is" "round" "~")) -> ("Anne" "is" "big" "+"))
If something is nice and not red then it is quiet.
((("something" "is" "nice" "+") ("something" "is" "red" "~")) -> ("something" "is" "quiet" "+"))
If something is big and red then it is quiet.
((("something" "is" "big" "+") ("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
Erin is nice.
True
1
proof
[(triple3)]
("Erin" "is" "nice" "+")
triple3
Harry is not round.
False
1
inv-proof
[(triple7)]
("Harry" "is" "round" "-")
triple7
Gary is red.
True
2
proof
[(((triple5) -> rule5))]
("Gary" "is" "red" "+")
((triple5) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Erin is not red.
False
2
inv-proof
[(((triple3) -> rule5))]
("Erin" "is" "red" "-")
((triple3) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Harry is cold.
True
4
proof
[(((triple7 ((triple6) -> rule5)) -> rule4))]
("Harry" "is" "cold" "+")
((triple7 ((triple6) -> (rule5 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is not cold.
False
4
inv-proof
[(((triple7 ((triple6) -> rule5)) -> rule4))]
("Harry" "is" "cold" "-")
((triple7 ((triple6) -> (rule5 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is rough.
True
5
proof
[(((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2))]
("Harry" "is" "rough" "+")
((((triple7 ((triple6) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is not rough.
False
5
inv-proof
[(((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2))]
("Harry" "is" "rough" "-")
((((triple7 ((triple6) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is big.
True
6
proof
[(((((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2)) -> rule1))]
("Harry" "is" "big" "+")
((((((triple7 ((triple6) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is not big.
False
6
inv-proof
[(((((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2)) -> rule1))]
("Harry" "is" "big" "-")
((((((triple7 ((triple6) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is quiet.
True
9
proof
[(((((((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2)) -> rule1) ((triple6) -> rule5)) -> rule9))]
("Harry" "is" "quiet" "+")
((((((((triple7 ((triple6) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2)) ((triple6) -> (rule5 % int5))) -> (rule9 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Harry is not quiet.
False
9
inv-proof
[(((((((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2)) -> rule1) ((triple6) -> rule5)) -> rule9))]
("Harry" "is" "quiet" "-")
((((((((triple7 ((triple6) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2)) ((triple6) -> (rule5 % int5))) -> (rule9 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Anne is not quiet.
Unknown
inv-rconc
[@3: Anne is quiet.[CWA. Example of deepest failure = (rule9 <- rule5 <- rule6 <- FAIL)]]
("Anne" "is" "quiet" "-")
Gary is cold.
Unknown
rconc
[@1: Gary is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Gary" "is" "cold" "+")
Anne is not nice.
Unknown
inv-rconc
[@1: Anne is nice.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "nice" "-")
Anne is cold.
Unknown
rconc
[@1: Anne is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Anne" "is" "cold" "+")
Anne is not red.
Unknown
inv-rconc
[@2: Anne is red.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Anne" "is" "red" "-")
Gary is rough.
Unknown
rconc
[@2: Gary is rough.[CWA. Example of deepest failure = (rule2 <- rule4 <- FAIL)]]
("Gary" "is" "rough" "+")
Erin is not round.
Unknown
inv-random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "-")
Anne is round.
Unknown
random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "+")
@0: Anne is big.[(triple1)] Erin is cold.[(triple2)] Erin is nice.[(triple3)] Erin is rough.[(triple4 OR ((triple2) -> rule2))] Gary is nice.[(triple5)] Harry is nice.[(triple6)] Harry is round.[(triple7)] @1: Erin is big.[(((triple4) -> rule1) OR ((((triple2) -> rule2)) -> rule1))] Erin is red.[(((triple3) -> rule5))] Gary is red.[(((triple5) -> rule5))] Harry is red.[(((triple6) -> rule5))] @2: Erin is quiet.[(((((triple4) -> rule1) ((triple3) -> rule5)) -> rule9) OR ((((((triple2) -> rule2)) -> rule1) ((triple3) -> rule5)) -> rule9))] Harry is cold.[(((triple7 ((triple6) -> rule5)) -> rule4))] @3: Harry is rough.[(((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2))] @4: Harry is big.[(((((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2)) -> rule1))] @5: Harry is quiet.[(((((((((triple7 ((triple6) -> rule5)) -> rule4)) -> rule2)) -> rule1) ((triple6) -> rule5)) -> rule9))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Erin is cold.
("Erin" "is" "cold" "+")
triple2
Erin is nice.
("Erin" "is" "nice" "+")
triple3
Erin is rough.
("Erin" "is" "rough" "+")
triple4
((triple2) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple5
Harry is nice.
("Harry" "is" "nice" "+")
triple6
Harry is round.
("Harry" "is" "round" "+")
triple7
Erin is big.
("Erin" "is" "big" "+")
((triple4) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
((triple3) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple5) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple6) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
((((triple4) -> (rule1 % int3)) ((triple3) -> (rule5 % int2))) -> (rule9 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
((((((triple2) -> (rule2 % int4))) -> (rule1 % int3)) ((triple3) -> (rule5 % int2))) -> (rule9 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
((triple7 ((triple6) -> (rule5 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
((((triple7 ((triple6) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
((((((triple7 ((triple6) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
((((((((triple7 ((triple6) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2)) ((triple6) -> (rule5 % int5))) -> (rule9 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5