LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
sav08:syntax_and_shorthands_of_hol [2008/05/28 01:05]
vkuncak
sav08:syntax_and_shorthands_of_hol [2008/05/29 17:00]
vkuncak
Line 10: Line 10:
  
 All types are built from i and o using function type constructor $\Rightarrow$. ​ For example, ​ All types are built from i and o using function type constructor $\Rightarrow$. ​ For example, ​
-  * binary functions are terms of type $i \Rightarow ​i \Rightarrow i$ (arrow associates to the right, we use currying to represent functions with multiple arguments)+  * binary functions are terms of type $i \Rightarrow ​i \Rightarrow i$ (arrow associates to the right, we use currying to represent functions with multiple arguments)
   * binary predicates are terms of type $i \Rightarrow i \Rightarrow o$   * binary predicates are terms of type $i \Rightarrow i \Rightarrow o$
  
Line 35: Line 35:
 \] \]
 Note that we have defined negation, conjunction,​ and universal quantification,​ so all propositional operations and existential quantification are expressible. Note that we have defined negation, conjunction,​ and universal quantification,​ so all propositional operations and existential quantification are expressible.
 +
 +Note also that we can express
 +\[
 +   ​\mbox{ let } x = E \mbox{ in } F
 +\]
 +by $(\lambda x.F)E$.  ​
 +
 +The selection operator $\iota$ is not essential, but is a useful notation. ​ By writing
 +\[
 +   ​\mbox{ let } y = \iota(\lambda x. P(x)) \mbox{ in } F
 +\]
 +we can express the phrase "let y in F denote the unique x such that P(x) holds"​.