Charlie is nice. Dave is big. Erin is rough. Fiona is blue. All round, rough people are big. Blue, green people are big. If someone is rough then they are blue. Blue people are green. If someone is blue and not big then they are not furry. If someone is green and big then they are furry.
Charlie is nice.
("Charlie" "is" "nice" "+")
Dave is big.
("Dave" "is" "big" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
All round, rough people are big.
((("someone" "is" "round" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
Blue, green people are big.
((("someone" "is" "blue" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
If someone is rough then they are blue.
((("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
Blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If someone is blue and not big then they are not furry.
((("someone" "is" "blue" "+") ("someone" "is" "big" "~")) -> ("someone" "is" "furry" "-"))
If someone is green and big then they are furry.
((("someone" "is" "green" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
Fiona is blue.
True
1
proof
[(triple4)]
("Fiona" "is" "blue" "+")
triple4
Fiona is not blue.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "blue" "-")
triple4
Erin is blue.
True
2
proof
[(((triple3) -> rule3))]
("Erin" "is" "blue" "+")
((triple3) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is not blue.
False
2
inv-proof
[(((triple3) -> rule3))]
("Erin" "is" "blue" "-")
((triple3) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is green.
True
3
proof
[(((((triple3) -> rule3)) -> rule4))]
("Erin" "is" "green" "+")
((((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Fiona is not big.
False
4
inv-proof
[(((triple4 ((triple4) -> rule4)) -> rule2))]
("Fiona" "is" "big" "-")
((triple4 ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is furry.
True
7
proof
[(((((triple4) -> rule4) ((triple4 ((triple4) -> rule4)) -> rule2)) -> rule6))]
("Fiona" "is" "furry" "+")
((((triple4) -> (rule4 % int3)) ((triple4 ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Erin is not big.
False
6
inv-proof
[(((((triple3) -> rule3) ((((triple3) -> rule3)) -> rule4)) -> rule2))]
("Erin" "is" "big" "-")
((((triple3) -> (rule3 % int3)) ((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Charlie is not big.
Unknown
inv-rconc
[@2: Charlie is big.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Charlie" "is" "big" "-")
Dave is blue.
Unknown
rconc
[@1: Dave is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "blue" "+")
Charlie is not furry.
Unknown
inv-rconc
[@3: Charlie is furry.[CWA. Example of deepest failure = (rule6 <- rule4 <- rule3 <- FAIL)]]
("Charlie" "is" "furry" "-")
Charlie is green.
Unknown
rconc
[@2: Charlie is green.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Charlie" "is" "green" "+")
Erin is not round.
Unknown
inv-random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "-")
Charlie is rough.
Unknown
random
[@0: Charlie is rough.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "rough" "+")
Erin is not nice.
Unknown
inv-random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
@0: Charlie is nice.[(triple1)] Dave is big.[(triple2)] Erin is rough.[(triple3)] Fiona is blue.[(triple4)] @1: Erin is blue.[(((triple3) -> rule3))] Fiona is green.[(((triple4) -> rule4))] @2: Erin is green.[(((((triple3) -> rule3)) -> rule4))] Fiona is big.[(((triple4 ((triple4) -> rule4)) -> rule2))] @3: Erin is big.[(((((triple3) -> rule3) ((((triple3) -> rule3)) -> rule4)) -> rule2))] Fiona is furry.[(((((triple4) -> rule4) ((triple4 ((triple4) -> rule4)) -> rule2)) -> rule6))] @4: Erin is furry.[(((((((triple3) -> rule3)) -> rule4) ((((triple3) -> rule3) ((((triple3) -> rule3)) -> rule4)) -> rule2)) -> rule6))]
Charlie is nice.
("Charlie" "is" "nice" "+")
triple1
Dave is big.
("Dave" "is" "big" "+")
triple2
Erin is rough.
("Erin" "is" "rough" "+")
triple3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple4
Erin is blue.
("Erin" "is" "blue" "+")
((triple3) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple4) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
((((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((triple4 ((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((((triple3) -> (rule3 % int3)) ((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple4) -> (rule4 % int3)) ((triple4 ((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
((((((triple3) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple3) -> (rule3 % int4)) ((((triple3) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4