title: prolog - not a function warning
body: <p>I have this Prolog program where I want to match players with players with the same level (newbie, intermediate, or expert) and server:</p>
  
  <pre><code>player(player29, 408, 183, europe).
  player(player30, 462, 97, north-america).
  player(player31, 25, 22, asia).
  player(player32, 481, 248, asia).
  player(player33, 111, 37, asia).
  player(player34, 424, 359, north-america).
  player(player35, 381, 358, asia).
  player(player36, 231, 159, africa).
  player(player37, 31, 20, africa).
  player(player38, 22, 21, africa).
  player(player39, 144, 35, oceania).
  player(player40, 30, 25, asia).
  player(player41, 221, 112, south-america).
  player(player42, 344, 292, africa).
  player(player43, 183, 148, asia).
  player(player44, 62, 40, africa).
  player(player45, 281, 23, north-america).
  player(player46, 308, 173, south-america).
  player(player47, 127, 125, asia).
  player(player48, 441, 393, south-america).
  player(player49, 213, 48, oceania).
  player(player50, 343, 145, africa).
  
  winrate(X):-player(X, T, W, _); (W/T) * 100.
  
  newbie(X):-winrate(X) &lt; 40.
  intermediate(X):-winrate(X) &gt;=40; winrate(X) &lt; 80.
  expert(X):-winrate(X) &gt; 80.
  </code></pre>
  
  <p>However, I get a warning saying "Arithmetic: 'winrate(_G1082)' is not a function" when I compile it. Can someone explain to me what that means?</p>