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