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