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