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