Anne is cold. Anne is rough. Charlie is quiet. Charlie is red. Charlie is round. Charlie is young. Dave is cold. Dave is quiet. Dave is red. Erin is nice. Erin is quiet. Erin is round. Red, nice people are cold. If someone is quiet then they are cold. Red people are nice. If someone is young then they are round. Nice people are young. All young people are cold.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is round.
("Erin" "is" "round" "+")
Red, nice people are cold.
((("someone" "is" "red" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
If someone is quiet then they are cold.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "cold" "+"))
Red people are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If someone is young then they are round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Nice people are young.
((("someone" "is" "nice" "+")) -> ("someone" "is" "young" "+"))
All young people are cold.
((("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
Charlie is quiet.
True
1
proof
[(triple3)]
("Charlie" "is" "quiet" "+")
triple3
Charlie is not young.
False
1
inv-proof
[(triple6 OR ((((triple4) -> rule3)) -> rule5))]
("Charlie" "is" "young" "-")
triple6
((((triple4) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Erin is cold.
True
2
proof
[(((triple11) -> rule2) OR ((((triple10) -> rule5)) -> rule6))]
("Erin" "is" "cold" "+")
((triple11) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple10) -> (rule5 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is not young.
False
2
inv-proof
[(((triple10) -> rule5))]
("Erin" "is" "young" "-")
((triple10) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Dave is young.
True
3
proof
[(((((triple9) -> rule3)) -> rule5))]
("Dave" "is" "young" "+")
((((triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is not young.
False
3
inv-proof
[(((((triple9) -> rule3)) -> rule5))]
("Dave" "is" "young" "-")
((((triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is round.
True
4
proof
[(((((((triple9) -> rule3)) -> rule5)) -> rule4))]
("Dave" "is" "round" "+")
((((((triple9) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is not round.
False
4
inv-proof
[(((((((triple9) -> rule3)) -> rule5)) -> rule4))]
("Dave" "is" "round" "-")
((((((triple9) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Anne is not young.
Unknown
inv-rconc
[@2: Anne is young.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Anne" "is" "young" "-")
Anne is round.
Unknown
rconc
[@3: Anne is round.[CWA. Example of deepest failure = (rule4 <- rule5 <- rule3 <- FAIL)]]
("Anne" "is" "round" "+")
Anne is not nice.
Unknown
inv-rconc
[@1: Anne is nice.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "nice" "-")
Charlie is rough.
Unknown
random
[@0: Charlie is rough.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "rough" "+")
Dave is not rough.
Unknown
inv-random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "-")
Anne is quiet.
Unknown
random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is cold.[(triple1)] Anne is rough.[(triple2)] Charlie is quiet.[(triple3)] Charlie is red.[(triple4)] Charlie is round.[(triple5 OR ((triple6) -> rule4) OR ((((((triple4) -> rule3)) -> rule5)) -> rule4))] Charlie is young.[(triple6 OR ((((triple4) -> rule3)) -> rule5))] Dave is cold.[(triple7 OR ((triple8) -> rule2) OR ((triple9 ((triple9) -> rule3)) -> rule1) OR ((((((triple9) -> rule3)) -> rule5)) -> rule6))] Dave is quiet.[(triple8)] Dave is red.[(triple9)] Erin is nice.[(triple10)] Erin is quiet.[(triple11)] Erin is round.[(triple12 OR ((((triple10) -> rule5)) -> rule4))] @1: Charlie is cold.[(((triple3) -> rule2) OR ((triple6) -> rule6) OR ((triple4 ((triple4) -> rule3)) -> rule1) OR ((((((triple4) -> rule3)) -> rule5)) -> rule6))] Charlie is nice.[(((triple4) -> rule3))] Dave is nice.[(((triple9) -> rule3))] Erin is cold.[(((triple11) -> rule2) OR ((((triple10) -> rule5)) -> rule6))] Erin is young.[(((triple10) -> rule5))] @2: Dave is young.[(((((triple9) -> rule3)) -> rule5))] @3: Dave is round.[(((((((triple9) -> rule3)) -> rule5)) -> rule4))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Charlie is round.
("Charlie" "is" "round" "+")
triple5
((triple6) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((((triple4) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
triple6
((((triple4) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
triple7
((triple8) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((triple9 ((triple9) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((((((triple9) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
Dave is red.
("Dave" "is" "red" "+")
triple9
Erin is nice.
("Erin" "is" "nice" "+")
triple10
Erin is quiet.
("Erin" "is" "quiet" "+")
triple11
Erin is round.
("Erin" "is" "round" "+")
triple12
((((triple10) -> (rule5 % int2))) -> (rule4 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple3) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((triple6) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((triple4 ((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((((triple4) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple4) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple9) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple11) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple10) -> (rule5 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((triple10) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((((triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((((((triple9) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3