Oddly enough, this only appears in my command line invocation but not on try-alf.org.
alf --examples show 'project(matching(supplies, restrict(suppliers, city: "Paris")), [:pid])'
I get (with 0.16.0 and 0.15.0):
/home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer/project.rb:8:in `project': undefined method `[]' for false:FalseClass (NoMethodError)
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer/project.rb:24:in `rescue in apply'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer/project.rb:22:in `apply'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer/project.rb:18:in `_call'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer.rb:22:in `call'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer.rb:35:in `apply'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/algebra/support/rewriter.rb:9:in `call'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer.rb:21:in `call'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer.rb:9:in `block in call'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer.rb:9:in `each'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer.rb:9:in `inject'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/optimizer.rb:9:in `call'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/database/connection.rb:48:in `optimize'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-core-0.16.0/lib/alf/database/connection.rb:52:in `relvar'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-shell-0.16.0/lib/alf/shell/support.rb:17:in `operand'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-shell-0.16.0/lib/alf/shell/support.rb:18:in `operand'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-shell-0.16.0/lib/alf/shell/command/show.rb:22:in `compile'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-shell-0.16.0/lib/alf/shell/command/show.rb:18:in `run'
from /home/eregon/.gem/ruby/2.0.0/gems/quickl-0.4.3/lib/quickl/command/class_methods.rb:76:in `run'
from /home/eregon/.gem/ruby/2.0.0/gems/quickl-0.4.3/lib/quickl/command/delegator.rb:16:in `execute'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-shell-0.16.0/lib/alf/shell/command/main.rb:77:in `execute'
from /home/eregon/.gem/ruby/2.0.0/gems/quickl-0.4.3/lib/quickl/command/delegator.rb:11:in `run'
from /home/eregon/.gem/ruby/2.0.0/gems/quickl-0.4.3/lib/quickl/command/class_methods.rb:76:in `run'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-shell-0.16.0/bin/alf:15:in `start'
from /home/eregon/.gem/ruby/2.0.0/gems/alf-shell-0.16.0/bin/alf:19:in `<top (required)>'
from /home/eregon/.gem/ruby/2.0.0/bin/alf:23:in `load'
from /home/eregon/.gem/ruby/2.0.0/bin/alf:23:in `<main>'
Oddly enough, this only appears in my command line invocation but not on try-alf.org.
I get (with 0.16.0 and 0.15.0):