Dave is big. Dave is blue. Dave is kind. Dave is rough. Dave is round. Dave is white. Erin is kind. Erin is white. Fiona is big. Fiona is blue. Fiona is furry. Fiona is kind. Fiona is round. Fiona is white. Gary is big. Gary is white. If someone is furry and big then they are blue. If someone is kind then they are furry. White people are rough. Blue people are furry. All round, kind people are big. All furry, white people are blue.
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is white.
("Gary" "is" "white" "+")
If someone is furry and big then they are blue.
((("someone" "is" "furry" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
If someone is kind then they are furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
White people are rough.
((("someone" "is" "white" "+")) -> ("someone" "is" "rough" "+"))
Blue people are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All round, kind people are big.
((("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "big" "+"))
All furry, white people are blue.
((("someone" "is" "furry" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "blue" "+"))
Gary is big.
True
1
proof
[(triple15)]
("Gary" "is" "big" "+")
triple15
Dave is not white.
False
1
inv-proof
[(triple6)]
("Dave" "is" "white" "-")
triple6
Fiona is rough.
True
2
proof
[(((triple14) -> rule3))]
("Fiona" "is" "rough" "+")
((triple14) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Erin is not rough.
False
2
inv-proof
[(((triple8) -> rule3))]
("Erin" "is" "rough" "-")
((triple8) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is blue.
True
4
proof
[(((((triple7) -> rule2) triple8) -> rule6))]
("Erin" "is" "blue" "+")
((((triple7) -> (rule2 % int2)) triple8) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is not blue.
False
4
inv-proof
[(((((triple7) -> rule2) triple8) -> rule6))]
("Erin" "is" "blue" "-")
((((triple7) -> (rule2 % int2)) triple8) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Gary is not blue.
Unknown
inv-rconc
[@4: Gary is blue.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule6 <- rule2 <- FAIL)]]
("Gary" "is" "blue" "-")
Erin is big.
Unknown
rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "big" "+")
Gary is not furry.
Unknown
inv-rconc
[@3: Gary is furry.[CWA. Example of deepest failure = (rule4 <- rule1 <- rule2 <- FAIL)]]
("Gary" "is" "furry" "-")
Erin is round.
Unknown
random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "+")
Gary is not kind.
Unknown
inv-random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "-")
Gary is round.
Unknown
random
[@0: Gary is round.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "round" "+")
@0: Dave is big.[(triple1 OR ((triple5 triple3) -> rule5))] Dave is blue.[(triple2 OR ((((triple3) -> rule2) triple1) -> rule1) OR ((((triple3) -> rule2) triple6) -> rule6) OR ((((triple3) -> rule2) ((triple5 triple3) -> rule5)) -> rule1))] Dave is kind.[(triple3)] Dave is rough.[(triple4 OR ((triple6) -> rule3))] Dave is round.[(triple5)] Dave is white.[(triple6)] Erin is kind.[(triple7)] Erin is white.[(triple8)] Fiona is big.[(triple9 OR ((triple13 triple12) -> rule5))] Fiona is blue.[(triple10 OR ((triple11 triple14) -> rule6) OR ((triple11 triple9) -> rule1) OR ((triple11 ((triple13 triple12) -> rule5)) -> rule1) OR ((((triple12) -> rule2) triple14) -> rule6) OR ((((triple12) -> rule2) triple9) -> rule1) OR ((((triple12) -> rule2) ((triple13 triple12) -> rule5)) -> rule1))] Fiona is furry.[(triple11 OR ((triple10) -> rule4) OR ((triple12) -> rule2))] Fiona is kind.[(triple12)] Fiona is round.[(triple13)] Fiona is white.[(triple14)] Gary is big.[(triple15)] Gary is white.[(triple16)] @1: Dave is furry.[(((triple2) -> rule4) OR ((triple3) -> rule2))] Erin is furry.[(((triple7) -> rule2))] Erin is rough.[(((triple8) -> rule3))] Fiona is rough.[(((triple14) -> rule3))] Gary is rough.[(((triple16) -> rule3))] @2: Erin is blue.[(((((triple7) -> rule2) triple8) -> rule6))]
Dave is big.
("Dave" "is" "big" "+")
triple1
((triple5 triple3) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
((((triple3) -> (rule2 % int2)) triple1) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple3) -> (rule2 % int2)) triple6) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple3) -> (rule2 % int3)) ((triple5 triple3) -> (rule5 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is rough.
("Dave" "is" "rough" "+")
triple4
((triple6) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple5
Dave is white.
("Dave" "is" "white" "+")
triple6
Erin is kind.
("Erin" "is" "kind" "+")
triple7
Erin is white.
("Erin" "is" "white" "+")
triple8
Fiona is big.
("Fiona" "is" "big" "+")
triple9
((triple13 triple12) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple10
((triple11 triple14) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple11 triple9) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple11 ((triple13 triple12) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple12) -> (rule2 % int2)) triple14) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple12) -> (rule2 % int2)) triple9) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple12) -> (rule2 % int3)) ((triple13 triple12) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple11
((triple10) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple12) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple12
Fiona is round.
("Fiona" "is" "round" "+")
triple13
Fiona is white.
("Fiona" "is" "white" "+")
triple14
Gary is big.
("Gary" "is" "big" "+")
triple15
Gary is white.
("Gary" "is" "white" "+")
triple16
Dave is furry.
("Dave" "is" "furry" "+")
((triple2) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple3) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple7) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((triple8) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple14) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple16) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((((triple7) -> (rule2 % int2)) triple8) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2