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