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