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