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