Anne is big. Anne is nice. Erin is big. Erin is furry. Erin is green. Erin is nice. Erin is round. Erin is white. Erin is young. Fiona is big. Fiona is green. Fiona is nice. Fiona is round. Fiona is white. Fiona is young. Round, white things are furry. Furry, green things are young. All young, furry things are nice. All furry things are white. If Anne is furry and Anne is nice then Anne is white. All big things are furry. If Erin is young then Erin is white. If Anne is nice and Anne is round then Anne is furry.
Anne is big.
("Anne" "is" "big" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
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 green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Round, white things are furry.
((("something" "is" "round" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Furry, green things are young.
((("something" "is" "furry" "+") ("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
All young, furry things are nice.
((("something" "is" "young" "+") ("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
All furry things are white.
((("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
If Anne is furry and Anne is nice then Anne is white.
((("Anne" "is" "furry" "+") ("Anne" "is" "nice" "+")) -> ("Anne" "is" "white" "+"))
All big things are furry.
((("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If Erin is young then Erin is white.
((("Erin" "is" "young" "+")) -> ("Erin" "is" "white" "+"))
If Anne is nice and Anne is round then Anne is furry.
((("Anne" "is" "nice" "+") ("Anne" "is" "round" "+")) -> ("Anne" "is" "furry" "+"))
Fiona is white.
True
1
proof
[(triple14 OR ((((triple10) -> rule6)) -> rule4))]
("Fiona" "is" "white" "+")
triple14
((((triple10) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not young.
False
1
inv-proof
[(triple15 OR ((((triple10) -> rule6) triple11) -> rule2) OR ((((triple13 triple14) -> rule1) triple11) -> rule2))]
("Fiona" "is" "young" "-")
triple15
((((triple10) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple13 triple14) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Anne is not young.
Unknown
inv-rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "young" "-")
Anne is green.
Unknown
random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "+")
@0: Anne is big.[(triple1)] Anne is nice.[(triple2)] Erin is big.[(triple3)] Erin is furry.[(triple4 OR ((triple3) -> rule6) OR ((triple7 triple8) -> rule1) OR ((triple7 ((triple9) -> rule7)) -> rule1))] Erin is green.[(triple5)] Erin is nice.[(triple6 OR ((triple9 triple4) -> rule3) OR ((triple9 ((triple3) -> rule6)) -> rule3) OR ((triple9 ((triple7 triple8) -> rule1)) -> rule3) OR ((((triple4 triple5) -> rule2) triple4) -> rule3) OR ((((triple4 triple5) -> rule2) ((triple3) -> rule6)) -> rule3) OR ((((triple4 triple5) -> rule2) ((triple7 triple8) -> rule1)) -> rule3) OR ((triple9 ((triple7 ((triple9) -> rule7)) -> rule1)) -> rule3) OR ((((((triple3) -> rule6) triple5) -> rule2) triple4) -> rule3) OR ((((((triple7 triple8) -> rule1) triple5) -> rule2) triple4) -> rule3) OR ((((triple4 triple5) -> rule2) ((triple7 ((triple9) -> rule7)) -> rule1)) -> rule3) OR ((((((triple3) -> rule6) triple5) -> rule2) ((triple3) -> rule6)) -> rule3) OR ((((((triple3) -> rule6) triple5) -> rule2) ((triple7 triple8) -> rule1)) -> rule3) OR ((((((triple7 triple8) -> rule1) triple5) -> rule2) ((triple3) -> rule6)) -> rule3) OR ((((((triple7 triple8) -> rule1) triple5) -> rule2) ((triple7 triple8) -> rule1)) -> rule3) OR ((((((triple3) -> rule6) triple5) -> rule2) ((triple7 ((triple9) -> rule7)) -> rule1)) -> rule3) OR ((((((triple7 triple8) -> rule1) triple5) -> rule2) ((triple7 ((triple9) -> rule7)) -> rule1)) -> rule3))] Erin is round.[(triple7)] Erin is white.[(triple8 OR ((triple4) -> rule4) OR ((triple9) -> rule7) OR ((((triple3) -> rule6)) -> rule4) OR ((((triple4 triple5) -> rule2)) -> rule7) OR ((((((triple3) -> rule6) triple5) -> rule2)) -> rule7))] Erin is young.[(triple9 OR ((triple4 triple5) -> rule2) OR ((((triple3) -> rule6) triple5) -> rule2) OR ((((triple7 triple8) -> rule1) triple5) -> rule2))] Fiona is big.[(triple10)] Fiona is green.[(triple11)] Fiona is nice.[(triple12 OR ((triple15 ((triple10) -> rule6)) -> rule3) OR ((triple15 ((triple13 triple14) -> rule1)) -> rule3) OR ((((((triple10) -> rule6) triple11) -> rule2) ((triple10) -> rule6)) -> rule3) OR ((((((triple10) -> rule6) triple11) -> rule2) ((triple13 triple14) -> rule1)) -> rule3) OR ((((((triple13 triple14) -> rule1) triple11) -> rule2) ((triple10) -> rule6)) -> rule3) OR ((((((triple13 triple14) -> rule1) triple11) -> rule2) ((triple13 triple14) -> rule1)) -> rule3))] Fiona is round.[(triple13)] Fiona is white.[(triple14 OR ((((triple10) -> rule6)) -> rule4))] Fiona is young.[(triple15 OR ((((triple10) -> rule6) triple11) -> rule2) OR ((((triple13 triple14) -> rule1) triple11) -> rule2))] @1: Anne is furry.[(((triple1) -> rule6))] Fiona is furry.[(((triple10) -> rule6) OR ((triple13 triple14) -> rule1))] @2: Anne is white.[(((((triple1) -> rule6)) -> rule4) OR ((((triple1) -> rule6) triple2) -> rule5))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
Erin is big.
("Erin" "is" "big" "+")
triple3
Erin is furry.
("Erin" "is" "furry" "+")
triple4
((triple3) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple7 triple8) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple7 ((triple9) -> (rule7 % int2))) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
triple5
Erin is nice.
("Erin" "is" "nice" "+")
triple6
((triple9 triple4) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((triple9 ((triple3) -> (rule6 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((triple9 ((triple7 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple4 triple5) -> (rule2 % int2)) triple4) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((triple4 triple5) -> (rule2 % int3)) ((triple3) -> (rule6 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((triple4 triple5) -> (rule2 % int3)) ((triple7 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((triple9 ((triple7 ((triple9) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
((((((triple3) -> (rule6 % int3)) triple5) -> (rule2 % int2)) triple4) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple7 triple8) -> (rule1 % int3)) triple5) -> (rule2 % int2)) triple4) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((triple4 triple5) -> (rule2 % int4)) ((triple7 ((triple9) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
((((((triple3) -> (rule6 % int3)) triple5) -> (rule2 % int2)) ((triple3) -> (rule6 % int3))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple3) -> (rule6 % int3)) triple5) -> (rule2 % int2)) ((triple7 triple8) -> (rule1 % int3))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple7 triple8) -> (rule1 % int3)) triple5) -> (rule2 % int2)) ((triple3) -> (rule6 % int3))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple7 triple8) -> (rule1 % int3)) triple5) -> (rule2 % int2)) ((triple7 triple8) -> (rule1 % int3))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple3) -> (rule6 % int4)) triple5) -> (rule2 % int3)) ((triple7 ((triple9) -> (rule7 % int2))) -> (rule1 % int4))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
((((((triple7 triple8) -> (rule1 % int4)) triple5) -> (rule2 % int3)) ((triple7 ((triple9) -> (rule7 % int2))) -> (rule1 % int4))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
triple7
Erin is white.
("Erin" "is" "white" "+")
triple8
((triple4) -> (rule4 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
((triple9) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule4 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple4 triple5) -> (rule2 % int2))) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple3) -> (rule6 % int3)) triple5) -> (rule2 % int2))) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
triple9
((triple4 triple5) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple3) -> (rule6 % int2)) triple5) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple7 triple8) -> (rule1 % int2)) triple5) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
triple10
Fiona is green.
("Fiona" "is" "green" "+")
triple11
Fiona is nice.
("Fiona" "is" "nice" "+")
triple12
((triple15 ((triple10) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple15 ((triple13 triple14) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple10) -> (rule6 % int3)) triple11) -> (rule2 % int2)) ((triple10) -> (rule6 % int3))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple10) -> (rule6 % int3)) triple11) -> (rule2 % int2)) ((triple13 triple14) -> (rule1 % int3))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple13 triple14) -> (rule1 % int3)) triple11) -> (rule2 % int2)) ((triple10) -> (rule6 % int3))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple13 triple14) -> (rule1 % int3)) triple11) -> (rule2 % int2)) ((triple13 triple14) -> (rule1 % int3))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
triple13
Fiona is white.
("Fiona" "is" "white" "+")
triple14
((((triple10) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple15
((((triple10) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple13 triple14) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
((triple1) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple10) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple13 triple14) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
((((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple1) -> (rule6 % int2)) triple2) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2