4

I suspect that λProlog needs a type system to make their higher
order unification sound. Otherwise through self application some
Russell type anomalies can appear.

Are there alternative higher order Prologs that don't need .sig files?
Maybe by a much simpler type system, that doesn't need that many
declarations but still has some form of higher order unification?

Can this dilemma be solved?

1 Answers1

0

Is there a higher order Prolog that wouldn't need a type system?

These are type-free:

From the HiOrd paper:

The framework proposed gives rise to many questions the authors hope to ad- dress in future research. In particular, a rigorous treatment must be developed for comparison with other higher-order formal systems (Hilog, Lambda-Prolog). For example, it is reasonably straightforward to conservatively translate the Higher- order Horn fragment of λProlog into Hiord by erasing types, as the resolution rules are essentially the same (assuming a type-safe higher-order unification pro- cedure).

  • Ciao (includes HiOrd)
MWB
  • 11,740
  • 6
  • 46
  • 91
  • @MostowskiCollapse HO Babel has a type system – MWB Dec 16 '20 at 21:12
  • You judging from here, it has "data" https://www.scienceopen.com/document_file/2ae31345-97f3-4d5e-ba17-55640a59609c/ScienceOpen/001_Kuchen.pdf –  Dec 16 '20 at 22:18
  • @MostowskiCollapse HO Babel became Curry, I think. Its type system and syntax are very similar to Haskell's. – MWB Dec 17 '20 at 09:48
  • Hiord mentions bracket abstraction http://oa.upm.es/14365/1/HERME_ARC_2004-1.pdf , whereas λProlog seems to use deBruijn indexes under the hood. See also https://stackoverflow.com/q/65066544/502187 and https://stackoverflow.com/q/65346448/502187 –  Dec 19 '20 at 21:28
  • **If** all above systems are a valid answer, then also regular [tag:iso-prolog]'s `call/N` counts. But this is only about higher-order programming, not higher-order logic. – false Jan 10 '23 at 09:41