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