Anne is big. Anne is rough. Anne is white. Charlie is big. Charlie is rough. Charlie is smart. Fiona is big. Fiona is green. Gary is big. Gary is green. Gary is round. Gary is young. If Gary is green then Gary is smart. If Fiona is young then Fiona is rough. All big, green people are young. If Fiona is white then Fiona is young. If someone is young and big then they are rough. All young people are smart. All round people are rough. All smart, rough people are round.
Anne is big.
("Anne" "is" "big" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is white.
("Anne" "is" "white" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is young.
("Gary" "is" "young" "+")
If Gary is green then Gary is smart.
((("Gary" "is" "green" "+")) -> ("Gary" "is" "smart" "+"))
If Fiona is young then Fiona is rough.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "rough" "+"))
All big, green people are young.
((("someone" "is" "big" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
If Fiona is white then Fiona is young.
((("Fiona" "is" "white" "+")) -> ("Fiona" "is" "young" "+"))
If someone is young and big then they are rough.
((("someone" "is" "young" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "rough" "+"))
All young people are smart.
((("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
All round people are rough.
((("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
All smart, rough people are round.
((("someone" "is" "smart" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
Fiona is big.
True
1
proof
[(triple7)]
("Fiona" "is" "big" "+")
triple7
Gary is not big.
False
1
inv-proof
[(triple9)]
("Gary" "is" "big" "-")
triple9
Fiona is young.
True
3
proof
[(((triple7 triple8) -> rule3))]
("Fiona" "is" "young" "+")
((triple7 triple8) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Charlie is not round.
False
3
inv-proof
[(((triple6 triple5) -> rule8))]
("Charlie" "is" "round" "-")
((triple6 triple5) -> (rule8 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Fiona is smart.
True
4
proof
[(((((triple7 triple8) -> rule3)) -> rule6))]
("Fiona" "is" "smart" "+")
((((triple7 triple8) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not rough.
False
4
inv-proof
[(((((triple7 triple8) -> rule3)) -> rule2) OR ((((triple7 triple8) -> rule3) triple7) -> rule5))]
("Fiona" "is" "rough" "-")
((((triple7 triple8) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple7 triple8) -> (rule3 % int2)) triple7) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is round.
True
9
proof
[(((((((triple7 triple8) -> rule3)) -> rule6) ((((triple7 triple8) -> rule3)) -> rule2)) -> rule8) OR ((((((triple7 triple8) -> rule3)) -> rule6) ((((triple7 triple8) -> rule3) triple7) -> rule5)) -> rule8))]
("Fiona" "is" "round" "+")
((((((triple7 triple8) -> (rule3 % int4))) -> (rule6 % int3)) ((((triple7 triple8) -> (rule3 % int4))) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((((triple7 triple8) -> (rule3 % int4))) -> (rule6 % int3)) ((((triple7 triple8) -> (rule3 % int4)) triple7) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is not round.
False
9
inv-proof
[(((((((triple7 triple8) -> rule3)) -> rule6) ((((triple7 triple8) -> rule3)) -> rule2)) -> rule8) OR ((((((triple7 triple8) -> rule3)) -> rule6) ((((triple7 triple8) -> rule3) triple7) -> rule5)) -> rule8))]
("Fiona" "is" "round" "-")
((((((triple7 triple8) -> (rule3 % int4))) -> (rule6 % int3)) ((((triple7 triple8) -> (rule3 % int4))) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((((triple7 triple8) -> (rule3 % int4))) -> (rule6 % int3)) ((((triple7 triple8) -> (rule3 % int4)) triple7) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Anne is not young.
Unknown
inv-rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "young" "-")
Anne is smart.
Unknown
rconc
[@2: Anne is smart.[CWA. Example of deepest failure = (rule6 <- rule3 <- FAIL)]]
("Anne" "is" "smart" "+")
Anne is not round.
Unknown
inv-rconc
[@3: Anne is round.[CWA. Example of deepest failure = (rule8 <- rule6 <- rule3 <- FAIL)]]
("Anne" "is" "round" "-")
Charlie is young.
Unknown
rconc
[@1: Charlie is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "young" "+")
Fiona is not white.
Unknown
inv-random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
Gary is not white.
Unknown
inv-random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
@0: Anne is big.[(triple1)] Anne is rough.[(triple2)] Anne is white.[(triple3)] Charlie is big.[(triple4)] Charlie is rough.[(triple5)] Charlie is smart.[(triple6)] Fiona is big.[(triple7)] Fiona is green.[(triple8)] Gary is big.[(triple9)] Gary is green.[(triple10)] Gary is round.[(triple11 OR ((((triple10) -> rule1) ((triple12 triple9) -> rule5)) -> rule8) OR ((((triple12) -> rule6) ((triple12 triple9) -> rule5)) -> rule8) OR ((((triple10) -> rule1) ((((triple9 triple10) -> rule3) triple9) -> rule5)) -> rule8) OR ((((triple12) -> rule6) ((((triple9 triple10) -> rule3) triple9) -> rule5)) -> rule8) OR ((((((triple9 triple10) -> rule3)) -> rule6) ((triple12 triple9) -> rule5)) -> rule8) OR ((((((triple9 triple10) -> rule3)) -> rule6) ((((triple9 triple10) -> rule3) triple9) -> rule5)) -> rule8))] Gary is young.[(triple12 OR ((triple9 triple10) -> rule3))] @1: Charlie is round.[(((triple6 triple5) -> rule8))] Fiona is young.[(((triple7 triple8) -> rule3))] Gary is rough.[(((triple11) -> rule7) OR ((triple12 triple9) -> rule5) OR ((((triple9 triple10) -> rule3) triple9) -> rule5))] Gary is smart.[(((triple10) -> rule1) OR ((triple12) -> rule6) OR ((((triple9 triple10) -> rule3)) -> rule6))] @2: Fiona is rough.[(((((triple7 triple8) -> rule3)) -> rule2) OR ((((triple7 triple8) -> rule3) triple7) -> rule5))] Fiona is smart.[(((((triple7 triple8) -> rule3)) -> rule6))] @3: Fiona is round.[(((((((triple7 triple8) -> rule3)) -> rule6) ((((triple7 triple8) -> rule3)) -> rule2)) -> rule8) OR ((((((triple7 triple8) -> rule3)) -> rule6) ((((triple7 triple8) -> rule3) triple7) -> rule5)) -> rule8))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
Anne is white.
("Anne" "is" "white" "+")
triple3
Charlie is big.
("Charlie" "is" "big" "+")
triple4
Charlie is rough.
("Charlie" "is" "rough" "+")
triple5
Charlie is smart.
("Charlie" "is" "smart" "+")
triple6
Fiona is big.
("Fiona" "is" "big" "+")
triple7
Fiona is green.
("Fiona" "is" "green" "+")
triple8
Gary is big.
("Gary" "is" "big" "+")
triple9
Gary is green.
("Gary" "is" "green" "+")
triple10
Gary is round.
("Gary" "is" "round" "+")
triple11
((((triple10) -> (rule1 % int3)) ((triple12 triple9) -> (rule5 % int2))) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((triple12) -> (rule6 % int3)) ((triple12 triple9) -> (rule5 % int2))) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((triple10) -> (rule1 % int4)) ((((triple9 triple10) -> (rule3 % int3)) triple9) -> (rule5 % int2))) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((triple12) -> (rule6 % int4)) ((((triple9 triple10) -> (rule3 % int3)) triple9) -> (rule5 % int2))) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((((triple9 triple10) -> (rule3 % int4))) -> (rule6 % int3)) ((triple12 triple9) -> (rule5 % int2))) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((triple9 triple10) -> (rule3 % int4))) -> (rule6 % int3)) ((((triple9 triple10) -> (rule3 % int4)) triple9) -> (rule5 % int2))) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
triple12
((triple9 triple10) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((triple6 triple5) -> (rule8 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple7 triple8) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple11) -> (rule7 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple12 triple9) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple9 triple10) -> (rule3 % int2)) triple9) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
((triple10) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((triple12) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple9 triple10) -> (rule3 % int2))) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple7 triple8) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple7 triple8) -> (rule3 % int2)) triple7) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
((((triple7 triple8) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((((((triple7 triple8) -> (rule3 % int4))) -> (rule6 % int3)) ((((triple7 triple8) -> (rule3 % int4))) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((((triple7 triple8) -> (rule3 % int4))) -> (rule6 % int3)) ((((triple7 triple8) -> (rule3 % int4)) triple7) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4