Erin is furry. Fiona is green. If something is green then it is rough. White, young things are green. If something is furry then it is green. If something is rough then it is big. Green, big things are white. If something is rough and green then it is big.
Erin is furry.
("Erin" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
If something is green then it is rough.
((("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
White, young things are green.
((("something" "is" "white" "+") ("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
If something is furry then it is green.
((("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
If something is rough then it is big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
Green, big things are white.
((("something" "is" "green" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
If something is rough and green then it is big.
((("something" "is" "rough" "+") ("something" "is" "green" "+")) -> ("something" "is" "big" "+"))
Fiona is green.
True
1
proof
[(triple2)]
("Fiona" "is" "green" "+")
triple2
Erin is not furry.
False
1
inv-proof
[(triple1)]
("Erin" "is" "furry" "-")
triple1
Fiona is rough.
True
2
proof
[(((triple2) -> rule1))]
("Fiona" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Erin is not green.
False
2
inv-proof
[(((triple1) -> rule3))]
("Erin" "is" "green" "-")
((triple1) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
True
3
proof
[(((((triple1) -> rule3)) -> rule1))]
("Erin" "is" "rough" "+")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is not rough.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule1))]
("Erin" "is" "rough" "-")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is big.
True
4
proof
[(((((((triple1) -> rule3)) -> rule1)) -> rule4) OR ((((((triple1) -> rule3)) -> rule1) ((triple1) -> rule3)) -> rule6))]
("Erin" "is" "big" "+")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2)) ((triple1) -> (rule3 % int3))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is not big.
False
4
inv-proof
[(((((((triple1) -> rule3)) -> rule1)) -> rule4) OR ((((((triple1) -> rule3)) -> rule1) ((triple1) -> rule3)) -> rule6))]
("Erin" "is" "big" "-")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2)) ((triple1) -> (rule3 % int3))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Erin is young.
Unknown
random
[@0: Erin is young.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "young" "+")
Fiona is not young.
Unknown
inv-random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
@0: Erin is furry.[(triple1)] Fiona is green.[(triple2)] @1: Erin is green.[(((triple1) -> rule3))] Fiona is rough.[(((triple2) -> rule1))] @2: Erin is rough.[(((((triple1) -> rule3)) -> rule1))] Fiona is big.[(((((triple2) -> rule1)) -> rule4) OR ((((triple2) -> rule1) triple2) -> rule6))] @3: Erin is big.[(((((((triple1) -> rule3)) -> rule1)) -> rule4) OR ((((((triple1) -> rule3)) -> rule1) ((triple1) -> rule3)) -> rule6))] Fiona is white.[(((triple2 ((((triple2) -> rule1)) -> rule4)) -> rule5) OR ((triple2 ((((triple2) -> rule1) triple2) -> rule6)) -> rule5))] @4: Erin is white.[(((((triple1) -> rule3) ((((((triple1) -> rule3)) -> rule1)) -> rule4)) -> rule5) OR ((((triple1) -> rule3) ((((((triple1) -> rule3)) -> rule1) ((triple1) -> rule3)) -> rule6)) -> rule5))]
Erin is furry.
("Erin" "is" "furry" "+")
triple1
Fiona is green.
("Fiona" "is" "green" "+")
triple2
Erin is green.
("Erin" "is" "green" "+")
((triple1) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple2) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2)) ((triple1) -> (rule3 % int3))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
((triple2 ((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((triple2 ((((triple2) -> (rule1 % int3)) triple2) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
((((triple1) -> (rule3 % int4)) ((((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
int4
((((triple1) -> (rule3 % int4)) ((((((triple1) -> (rule3 % int4))) -> (rule1 % int3)) ((triple1) -> (rule3 % int4))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
int4