Dave is round. Erin is blue. Erin is furry. Erin is kind. Erin is red. Erin is rough. Erin is smart. Fiona is furry. Fiona is kind. Fiona is round. Blue people are round. If Erin is round then Erin is smart. All round, blue people are furry. If someone is blue then they are round. Furry people are rough. All rough people are round. If someone is kind and smart then they are furry. If someone is red then they are smart.
Dave is round.
("Dave" "is" "round" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Blue people are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If Erin is round then Erin is smart.
((("Erin" "is" "round" "+")) -> ("Erin" "is" "smart" "+"))
All round, blue people are furry.
((("someone" "is" "round" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
If someone is blue then they are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
Furry people are rough.
((("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
All rough people are round.
((("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
If someone is kind and smart then they are furry.
((("someone" "is" "kind" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
If someone is red then they are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
Erin is red.
True
1
proof
[(triple5)]
("Erin" "is" "red" "+")
triple5
Erin is not smart.
False
1
inv-proof
[(triple7 OR ((triple5) -> rule8) OR ((((triple2) -> rule1)) -> rule2) OR ((((triple2) -> rule4)) -> rule2) OR ((((triple6) -> rule6)) -> rule2) OR ((((((triple3) -> rule5)) -> rule6)) -> rule2))]
("Erin" "is" "smart" "-")
triple7
((triple5) -> (rule8 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple6) -> (rule6 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((((triple3) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Fiona is rough.
True
2
proof
[(((triple8) -> rule5))]
("Fiona" "is" "rough" "+")
((triple8) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is not rough.
False
2
inv-proof
[(((triple8) -> rule5))]
("Fiona" "is" "rough" "-")
((triple8) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Dave is not smart.
Unknown
inv-rconc
[@1: Dave is smart.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Dave" "is" "smart" "-")
Dave is furry.
Unknown
rconc
[@1: Dave is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "furry" "+")
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
@0: Dave is round.[(triple1)] Erin is blue.[(triple2)] Erin is furry.[(triple3 OR ((triple4 triple7) -> rule7) OR ((triple4 ((triple5) -> rule8)) -> rule7) OR ((((triple2) -> rule1) triple2) -> rule3) OR ((((triple2) -> rule4) triple2) -> rule3) OR ((((triple6) -> rule6) triple2) -> rule3) OR ((triple4 ((((triple2) -> rule1)) -> rule2)) -> rule7) OR ((triple4 ((((triple2) -> rule4)) -> rule2)) -> rule7) OR ((triple4 ((((triple6) -> rule6)) -> rule2)) -> rule7))] Erin is kind.[(triple4)] Erin is red.[(triple5)] Erin is rough.[(triple6 OR ((triple3) -> rule5) OR ((((triple4 triple7) -> rule7)) -> rule5) OR ((((triple4 ((triple5) -> rule8)) -> rule7)) -> rule5) OR ((((((triple2) -> rule1) triple2) -> rule3)) -> rule5) OR ((((((triple2) -> rule4) triple2) -> rule3)) -> rule5) OR ((((triple4 ((((triple2) -> rule1)) -> rule2)) -> rule7)) -> rule5) OR ((((triple4 ((((triple2) -> rule4)) -> rule2)) -> rule7)) -> rule5))] Erin is smart.[(triple7 OR ((triple5) -> rule8) OR ((((triple2) -> rule1)) -> rule2) OR ((((triple2) -> rule4)) -> rule2) OR ((((triple6) -> rule6)) -> rule2) OR ((((((triple3) -> rule5)) -> rule6)) -> rule2))] Fiona is furry.[(triple8)] Fiona is kind.[(triple9)] Fiona is round.[(triple10 OR ((((triple8) -> rule5)) -> rule6))] @1: Erin is round.[(((triple2) -> rule1) OR ((triple2) -> rule4) OR ((triple6) -> rule6) OR ((((triple3) -> rule5)) -> rule6) OR ((((((triple4 triple7) -> rule7)) -> rule5)) -> rule6) OR ((((((triple4 ((triple5) -> rule8)) -> rule7)) -> rule5)) -> rule6))] Fiona is rough.[(((triple8) -> rule5))]
Dave is round.
("Dave" "is" "round" "+")
triple1
Erin is blue.
("Erin" "is" "blue" "+")
triple2
Erin is furry.
("Erin" "is" "furry" "+")
triple3
((triple4 triple7) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple4 ((triple5) -> (rule8 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((((triple2) -> (rule1 % int2)) triple2) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple2) -> (rule4 % int2)) triple2) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple6) -> (rule6 % int2)) triple2) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((triple4 ((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((triple4 ((((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((triple4 ((((triple6) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple5
Erin is rough.
("Erin" "is" "rough" "+")
triple6
((triple3) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((((triple4 triple7) -> (rule7 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple4 ((triple5) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
((((((triple2) -> (rule1 % int3)) triple2) -> (rule3 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((((((triple2) -> (rule4 % int3)) triple2) -> (rule3 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((((triple4 ((((triple2) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
((((triple4 ((((triple2) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is smart.
("Erin" "is" "smart" "+")
triple7
((triple5) -> (rule8 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple6) -> (rule6 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((((triple3) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple9
Fiona is round.
("Fiona" "is" "round" "+")
triple10
((((triple8) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
((triple2) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((triple2) -> (rule4 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((triple6) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
((((((triple4 triple7) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple4 ((triple5) -> (rule8 % int4))) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple8) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1