Harrop formula

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In intuitionistic logic, the Harrop formulae, named after Ronald Harrop, are the class of formulae inductively defined as follows:[1][2][3]

  • Atomic formulae are Harrop, including falsity (⊥);
  • AB is Harrop provided A and B are;
  • ¬F is Harrop for any well-formed formula F;
  • FA is Harrop provided A is, and F is any well-formed formula;
  • x.A is Harrop provided A is.

By excluding disjunction and existential quantification (except in the antecedent of implication), non-constructive predicates are avoided, which has benefits for computer implementation.

Discussion

[edit | edit source]

Harrop formulae are more "well-behaved" also in a constructive context. For example, in Heyting arithmetic 𝖧𝖠, Harrop formulae satisfy a classical equivalence not generally satisfied in constructive logic:[1]

¬¬AA.

But there are still Π1-statements that are 𝖯𝖠-independent, meaning these are Harrop formulae x.A for which excluded middle is however not 𝖧𝖠-provable. The standard example is the arithmetized consistency of 𝖯𝖠 (or 𝖧𝖠-equivalently that of 𝖧𝖠). So

𝖧𝖠¬¬Con(𝖧𝖠)Con(𝖧𝖠)

but

𝖧𝖠Con(𝖧𝖠)¬Con(𝖧𝖠).

And a plain disjunction is never Harrop itself, in the syntactic sense. So the above is compatible with the fact that intuitionistic logic itself already proves ¬¬(P¬P) indeed for any P.

Note that Harrop formulea in the syntactic sense are equivalent to non-Harrop formulas, for example through explosion as A(A).

Hereditary Harrop formulae and logic programming

[edit | edit source]

A more complex definition of hereditary Harrop formulae is used in logic programming as a generalisation of Horn clauses, and forms the basis for the language λProlog. Hereditary Harrop formulae are defined in terms of two (sometimes three) recursive sets of formulae. In one formulation:[4]

  • Rigid atomic formulae, i.e. constants r or formulae r(t1,...,tn), are hereditary Harrop;
  • AB is hereditary Harrop provided A and B are;
  • x.A is hereditary Harrop provided A is;
  • GA is hereditary Harrop provided A is rigidly atomic, and G is a G-formula.

G-formulae are defined as follows:[4]

  • Atomic formulae are G-formulae, including truth(⊤);
  • AB is a G-formula provided A and B are;
  • AB is a G-formula provided A and B are;
  • x.A is a G-formula provided A is;
  • x.A is a G-formula provided A is;
  • HA is a G-formula provided A is, and H is hereditary Harrop.

History

[edit | edit source]

Harrop formulae were introduced around 1956 by Ronald Harrop and independently by Helena Rasiowa.[2] Variations of the fundamental concept are used in different branches of constructive mathematics and logic programming.

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b Dov M. Gabbay, Christopher John Hogger, John Alan Robinson, Handbook of Logic in Artificial Intelligence and Logic Programming: Logic programming, Oxford University Press, 1998, p 575, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).