Anne is round. Dave is blue. Dave is cold. Dave is rough. Dave is round. Erin is rough. Fiona is not blue. Fiona is cold. Fiona is not furry. Fiona is nice. Fiona is round. If something is smart then it is round. All smart things are round. If something is rough then it is round. If something is blue and not smart then it is not round. All blue things are nice. If something is rough and cold then it is blue. All round things are cold. All rough, nice things are furry. If something is blue and not smart then it is furry.
Anne is round.
("Anne" "is" "round" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is not furry.
("Fiona" "is" "furry" "-")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If something is smart then it is round.
((("something" "is" "smart" "+")) -> ("something" "is" "round" "+"))
All smart things are round.
((("something" "is" "smart" "+")) -> ("something" "is" "round" "+"))
If something is rough then it is round.
((("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
If something is blue and not smart then it is not round.
((("something" "is" "blue" "+") ("something" "is" "smart" "~")) -> ("something" "is" "round" "-"))
All blue things are nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If something is rough and cold then it is blue.
((("something" "is" "rough" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
All round things are cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
All rough, nice things are furry.
((("something" "is" "rough" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is blue and not smart then it is furry.
((("something" "is" "blue" "+") ("something" "is" "smart" "~")) -> ("something" "is" "furry" "+"))
Fiona is not blue.
True
1
proof
[(triple7)]
("Fiona" "is" "blue" "-")
triple7
Fiona is furry.
False
1
inv-proof
[(triple9)]
("Fiona" "is" "furry" "+")
triple9
Anne is cold.
True
2
proof
[(((triple1) -> rule7))]
("Anne" "is" "cold" "+")
((triple1) -> (rule7 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Erin is not round.
False
2
inv-proof
[(((triple6) -> rule3))]
("Erin" "is" "round" "-")
((triple6) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Dave is furry.
True
4
proof
[(((triple4 ((triple2) -> rule5)) -> rule8) OR ((triple4 ((((triple4 triple3) -> rule6)) -> rule5)) -> rule8) OR ((triple4 ((((triple4 ((triple5) -> rule7)) -> rule6)) -> rule5)) -> rule8) OR ((triple4 ((((triple4 ((((triple4) -> rule3)) -> rule7)) -> rule6)) -> rule5)) -> rule8))]
("Dave" "is" "furry" "+")
((triple4 ((triple2) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((triple4 ((((triple4 triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((triple4 ((((triple4 ((triple5) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
((triple4 ((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
int5
Erin is not cold.
False
3
inv-proof
[(((((triple6) -> rule3)) -> rule7))]
("Erin" "is" "cold" "-")
((((triple6) -> (rule3 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is blue.
True
5
proof
[(((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6))]
("Erin" "is" "blue" "+")
((triple6 ((((triple6) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is not blue.
False
5
inv-proof
[(((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6))]
("Erin" "is" "blue" "-")
((triple6 ((((triple6) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is nice.
True
6
proof
[(((((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6)) -> rule5))]
("Erin" "is" "nice" "+")
((((triple6 ((((triple6) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is not nice.
False
6
inv-proof
[(((((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6)) -> rule5))]
("Erin" "is" "nice" "-")
((((triple6 ((((triple6) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is furry.
True
8
proof
[(((triple6 ((((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6)) -> rule5)) -> rule8))]
("Erin" "is" "furry" "+")
((triple6 ((((triple6 ((((triple6) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
int5
Erin is not furry.
False
8
inv-proof
[(((triple6 ((((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6)) -> rule5)) -> rule8))]
("Erin" "is" "furry" "-")
((triple6 ((((triple6 ((((triple6) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
int5
Anne is not blue.
Unknown
inv-rconc
[@1: Anne is blue.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "blue" "-")
Anne is furry.
Unknown
rconc
[@1: Anne is furry.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Anne" "is" "furry" "+")
Anne is not nice.
Unknown
inv-rconc
[@2: Anne is nice.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Anne" "is" "nice" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
Fiona is not smart.
Unknown
inv-random
[@0: Fiona is smart.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "smart" "-")
Dave is smart.
Unknown
random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "+")
Anne is not rough.
Unknown
inv-random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "-")
Anne is smart.
Unknown
random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "+")
@0: Anne is round.[(triple1)] Dave is blue.[(triple2 OR ((triple4 triple3) -> rule6) OR ((triple4 ((triple5) -> rule7)) -> rule6) OR ((triple4 ((((triple4) -> rule3)) -> rule7)) -> rule6))] Dave is cold.[(triple3 OR ((triple5) -> rule7) OR ((((triple4) -> rule3)) -> rule7))] Dave is rough.[(triple4)] Dave is round.[(triple5 OR ((triple4) -> rule3))] Erin is rough.[(triple6)] Fiona is cold.[(triple8 OR ((triple11) -> rule7))] Fiona is nice.[(triple10)] Fiona is not blue.[(triple7)] Fiona is not furry.[(triple9)] Fiona is round.[(triple11)] @1: Anne is cold.[(((triple1) -> rule7))] Dave is nice.[(((triple2) -> rule5) OR ((((triple4 triple3) -> rule6)) -> rule5) OR ((((triple4 ((triple5) -> rule7)) -> rule6)) -> rule5) OR ((((triple4 ((((triple4) -> rule3)) -> rule7)) -> rule6)) -> rule5))] Erin is round.[(((triple6) -> rule3))] @2: Dave is furry.[(((triple4 ((triple2) -> rule5)) -> rule8) OR ((triple4 ((((triple4 triple3) -> rule6)) -> rule5)) -> rule8) OR ((triple4 ((((triple4 ((triple5) -> rule7)) -> rule6)) -> rule5)) -> rule8) OR ((triple4 ((((triple4 ((((triple4) -> rule3)) -> rule7)) -> rule6)) -> rule5)) -> rule8))] Erin is cold.[(((((triple6) -> rule3)) -> rule7))] @3: Erin is blue.[(((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6))] @4: Erin is nice.[(((((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6)) -> rule5))] @5: Erin is furry.[(((triple6 ((((triple6 ((((triple6) -> rule3)) -> rule7)) -> rule6)) -> rule5)) -> rule8))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
((triple4 triple3) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple4 ((triple5) -> (rule7 % int2))) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((triple4 ((((triple4) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
triple3
((triple5) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
triple4
Dave is round.
("Dave" "is" "round" "+")
triple5
((triple4) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
triple6
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
((triple11) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple10
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple7
Fiona is not furry.
("Fiona" "is" "furry" "-")
triple9
Fiona is round.
("Fiona" "is" "round" "+")
triple11
Anne is cold.
("Anne" "is" "cold" "+")
((triple1) -> (rule7 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple2) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple4 triple3) -> (rule6 % int2))) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple4 ((triple5) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((triple4 ((((triple4) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
((triple6) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple4 ((triple2) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((triple4 ((((triple4 triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((triple4 ((((triple4 ((triple5) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
((triple4 ((((triple4 ((((triple4) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
int5
Erin is cold.
("Erin" "is" "cold" "+")
((((triple6) -> (rule3 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
((triple6 ((((triple6) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
((((triple6 ((((triple6) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is furry.
("Erin" "is" "furry" "+")
((triple6 ((((triple6 ((((triple6) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
int5