adding armstrong's inference rules