Associating Significant Others

I want separate address book entries for individuals (so that I can keep track of work phone numbers, for example). But individuals that are related to each other often share home addresses and phone numbers. So:

  1. If John is married to Jane, then

  2. John is a significant other of Jane, and

    { :p p:spouse :s }
    log:implies
    { :p p:sigother :s } .
    
  3. If John is a significant other of Jane, then

  4. John lives with Jane, and

    { :p p:sigother :s }
    log:implies
    { :p p:livesWith :s } .
    
  5. If John lives with Jane, and

  6. Jane has a phone number, and

  7. That phone number is labeled "Home", then

  8. John also has that phone number.

    { :p p:livesWith :s .
      :s :phone :o .
      :o :label :t .
      :t palm:label "Home" }
    log:implies
    { :p :phone :o } .
    

Etc.