Charlie is furry. Charlie is nice. Charlie is white. Dave is furry. Dave is nice. Dave is red. Dave is rough. Dave is white. Erin is furry. Erin is nice. Erin is white. Gary is blue. Gary is furry. Gary is nice. Gary is rough. Gary is smart. If Charlie is nice then Charlie is smart. All white people are furry. All red people are furry. If someone is smart then they are blue. All blue people are white. All furry people are nice.
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is white.
("Dave" "is" "white" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is white.
("Erin" "is" "white" "+")
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 smart.
("Gary" "is" "smart" "+")
If Charlie is nice then Charlie is smart.
((("Charlie" "is" "nice" "+")) -> ("Charlie" "is" "smart" "+"))
All white people are furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
All red people are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
If someone is smart then they are blue.
((("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
All blue people are white.
((("someone" "is" "blue" "+")) -> ("someone" "is" "white" "+"))
All furry people are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
Charlie is furry.
True
1
proof
[(triple1 OR ((triple3) -> rule2) OR ((((((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule2))]
("Charlie" "is" "furry" "+")
triple1
((triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((((((triple2) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4
Charlie is not nice.
False
1
inv-proof
[(triple2 OR ((triple1) -> rule6) OR ((((triple3) -> rule2)) -> rule6))]
("Charlie" "is" "nice" "-")
triple2
((triple1) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple3) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Erin is not blue.
Unknown
inv-rconc
[@1: Erin is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Erin" "is" "blue" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Charlie is furry.[(triple1 OR ((triple3) -> rule2) OR ((((((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule2))] Charlie is nice.[(triple2 OR ((triple1) -> rule6) OR ((((triple3) -> rule2)) -> rule6))] Charlie is white.[(triple3 OR ((((((triple2) -> rule1)) -> rule4)) -> rule5) OR ((((((((triple1) -> rule6)) -> rule1)) -> rule4)) -> rule5))] Dave is furry.[(triple4 OR ((triple6) -> rule3) OR ((triple8) -> rule2))] Dave is nice.[(triple5 OR ((triple4) -> rule6) OR ((((triple6) -> rule3)) -> rule6) OR ((((triple8) -> rule2)) -> rule6))] Dave is red.[(triple6)] Dave is rough.[(triple7)] Dave is white.[(triple8)] Erin is furry.[(triple9 OR ((triple11) -> rule2))] Erin is nice.[(triple10 OR ((triple9) -> rule6) OR ((((triple11) -> rule2)) -> rule6))] Erin is white.[(triple11)] Gary is blue.[(triple12 OR ((triple16) -> rule4))] Gary is furry.[(triple13 OR ((((triple12) -> rule5)) -> rule2) OR ((((((triple16) -> rule4)) -> rule5)) -> rule2))] Gary is nice.[(triple14 OR ((triple13) -> rule6) OR ((((((triple12) -> rule5)) -> rule2)) -> rule6) OR ((((((((triple16) -> rule4)) -> rule5)) -> rule2)) -> rule6))] Gary is rough.[(triple15)] Gary is smart.[(triple16)] @1: Charlie is smart.[(((triple2) -> rule1) OR ((((triple1) -> rule6)) -> rule1) OR ((((((triple3) -> rule2)) -> rule6)) -> rule1))] Gary is white.[(((triple12) -> rule5) OR ((((triple16) -> rule4)) -> rule5))] @2: Charlie is blue.[(((((triple2) -> rule1)) -> rule4) OR ((((((triple1) -> rule6)) -> rule1)) -> rule4) OR ((((((((triple3) -> rule2)) -> rule6)) -> rule1)) -> rule4))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
((triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((((((triple2) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
((triple1) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple3) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple3
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
((((((((triple1) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Dave is furry.
("Dave" "is" "furry" "+")
triple4
((triple6) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple8) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
triple5
((triple4) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
triple6
Dave is rough.
("Dave" "is" "rough" "+")
triple7
Dave is white.
("Dave" "is" "white" "+")
triple8
Erin is furry.
("Erin" "is" "furry" "+")
triple9
((triple11) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple10
((triple9) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple11) -> (rule2 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
triple11
Gary is blue.
("Gary" "is" "blue" "+")
triple12
((triple16) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
triple13
((((triple12) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((((triple16) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
triple14
((triple13) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((((triple12) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((((((triple16) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
triple15
Gary is smart.
("Gary" "is" "smart" "+")
triple16
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple2) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((((triple1) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((((triple3) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
((triple12) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((((triple16) -> (rule4 % int2))) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((((((triple1) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((((((((triple3) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
int4