Charlie is big. Charlie is quiet. Charlie is red. Charlie is round. Fiona is big. Fiona is nice. Fiona is quiet. Fiona is red. Fiona is round. Fiona is young. If Fiona is round and Fiona is young then Fiona is red. If Fiona is young then Fiona is nice. Young things are furry. If something is furry and big then it is red. If something is big and young then it is quiet. If something is big and red then it is round. If Fiona is round then Fiona is furry. If something is quiet then it is red.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If Fiona is round and Fiona is young then Fiona is red.
((("Fiona" "is" "round" "+") ("Fiona" "is" "young" "+")) -> ("Fiona" "is" "red" "+"))
If Fiona is young then Fiona is nice.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "nice" "+"))
Young things are furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
If something is furry and big then it is red.
((("something" "is" "furry" "+") ("something" "is" "big" "+")) -> ("something" "is" "red" "+"))
If something is big and young then it is quiet.
((("something" "is" "big" "+") ("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
If something is big and red then it is round.
((("something" "is" "big" "+") ("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
If Fiona is round then Fiona is furry.
((("Fiona" "is" "round" "+")) -> ("Fiona" "is" "furry" "+"))
If something is quiet then it is red.
((("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
Fiona is big.
True
1
proof
[(triple5)]
("Fiona" "is" "big" "+")
triple5
Fiona is not big.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "big" "-")
triple5
Fiona is furry.
True
2
proof
[(((triple10) -> rule3) OR ((triple9) -> rule7) OR ((((triple5 triple8) -> rule6)) -> rule7) OR ((((triple5 ((triple7) -> rule8)) -> rule6)) -> rule7) OR ((((triple5 ((((triple5 triple10) -> rule5)) -> rule8)) -> rule6)) -> rule7))]
("Fiona" "is" "furry" "+")
((triple10) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple9) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple5 triple8) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple5 ((triple7) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((triple5 ((((triple5 triple10) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is not furry.
False
2
inv-proof
[(((triple10) -> rule3) OR ((triple9) -> rule7) OR ((((triple5 triple8) -> rule6)) -> rule7) OR ((((triple5 ((triple7) -> rule8)) -> rule6)) -> rule7) OR ((((triple5 ((((triple5 triple10) -> rule5)) -> rule8)) -> rule6)) -> rule7))]
("Fiona" "is" "furry" "-")
((triple10) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple9) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple5 triple8) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple5 ((triple7) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((triple5 ((((triple5 triple10) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Charlie is not furry.
Unknown
inv-rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "furry" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Charlie is big.[(triple1)] Charlie is quiet.[(triple2)] Charlie is red.[(triple3 OR ((triple2) -> rule8))] Charlie is round.[(triple4 OR ((triple1 triple3) -> rule6) OR ((triple1 ((triple2) -> rule8)) -> rule6))] Fiona is big.[(triple5)] Fiona is nice.[(triple6 OR ((triple10) -> rule2))] Fiona is quiet.[(triple7 OR ((triple5 triple10) -> rule5))] Fiona is red.[(triple8 OR ((triple7) -> rule8) OR ((triple9 triple10) -> rule1) OR ((((triple5 triple10) -> rule5)) -> rule8) OR ((((triple10) -> rule3) triple5) -> rule4) OR ((((triple9) -> rule7) triple5) -> rule4))] Fiona is round.[(triple9 OR ((triple5 triple8) -> rule6) OR ((triple5 ((triple7) -> rule8)) -> rule6) OR ((triple5 ((((triple5 triple10) -> rule5)) -> rule8)) -> rule6) OR ((triple5 ((((triple10) -> rule3) triple5) -> rule4)) -> rule6))] Fiona is young.[(triple10)] @1: Fiona is furry.[(((triple10) -> rule3) OR ((triple9) -> rule7) OR ((((triple5 triple8) -> rule6)) -> rule7) OR ((((triple5 ((triple7) -> rule8)) -> rule6)) -> rule7) OR ((((triple5 ((((triple5 triple10) -> rule5)) -> rule8)) -> rule6)) -> rule7))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
((triple2) -> (rule8 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
triple4
((triple1 triple3) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((triple1 ((triple2) -> (rule8 % int2))) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
triple5
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
((triple10) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple7
((triple5 triple10) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple8
((triple7) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple9 triple10) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple5 triple10) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple10) -> (rule3 % int2)) triple5) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple9) -> (rule7 % int2)) triple5) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
triple9
((triple5 triple8) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple5 ((triple7) -> (rule8 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple5 ((((triple5 triple10) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((triple5 ((((triple10) -> (rule3 % int3)) triple5) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
triple10
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple10) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple9) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple5 triple8) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple5 ((triple7) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((((triple5 ((((triple5 triple10) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4