title: Reflexivity in functional dependencies
body: <p>I'm taking a class on databases and I'm doing an assignment on functional dependencies. As an example of taking given dependencies and deriving other non-trivial dependencies using Armstrong's Axioms, the TA wrote this and I can't wrap my head around it.</p>
  
  <p>Considering the relation R(c,p,h,s,e,n) and F the set of functional dependencies <code>{1. c-&gt;p, 2. hs-&gt;c, 3. hp-&gt;s, 4. ce-&gt;n, 5. he-&gt;s}</code>:</p>
  
  <p>Iteration 1:</p>
  
  <p>From F, we can build F1</p>
  
  <pre><code>6. hs-&gt;p (transitivity: 1+2)
  7. hc-&gt;s (pseudo-transitive. 1+3)
  8. hp-&gt;c
    1. hp-&gt;hs (reflexivity 3)
    2. hp-&gt;c (transitivity: 8.1+2)
  9. he-&gt;c
    1. he-&gt;hs (reflexivity: 4)
    2. he-&gt;c (transitivity: 9.1+2)
  </code></pre>
  
  <p>I understand most of it fine except the cases where 'reflexivity' is used (using quotes because that's pretty far from the definition of reflexivity in my textbook). Can anyone tell me how that's reflexivity? Also, how do I know when an iteration is over? Couldn't you find an infinity of ways to rewrite functional dependencies?</p>