72 lines
1.6 KiB
Text
72 lines
1.6 KiB
Text
-- Copyright (c) 2014 Microsoft Corporation. All rights reserved.
|
||
-- Released under Apache 2.0 license as described in the file LICENSE.
|
||
-- Author: Leonardo de Moura, Jeremy Avigad
|
||
|
||
-- general_notation
|
||
-- ================
|
||
|
||
-- General operations
|
||
-- ------------------
|
||
|
||
notation `assume` binders `,` r:(scoped f, f) := r
|
||
notation `take` binders `,` r:(scoped f, f) := r
|
||
|
||
-- Global declarations of right binding strength
|
||
-- ---------------------------------------------
|
||
|
||
-- If a module reassigns these, it will be incompatible with other modules that adhere to these
|
||
-- conventions.
|
||
|
||
-- ### Logical operations and relations
|
||
reserve prefix `¬`:40
|
||
reserve infixr `∧`:35
|
||
reserve infixr `/\`:35
|
||
reserve infixr `\/`:30
|
||
reserve infixr `∨`:30
|
||
reserve infix `<->`:25
|
||
reserve infix `↔`:25
|
||
reserve infix `=`:50
|
||
reserve infix `≠`:50
|
||
reserve infix `≈`:50
|
||
reserve infix `∼`:50
|
||
|
||
reserve postfix `⁻¹`:100
|
||
reserve infixr `⬝`:75
|
||
reserve infixr `▸`:75
|
||
|
||
-- ### types and type constructors
|
||
|
||
reserve infixl `⊎`:25
|
||
reserve infixl `×`:30
|
||
|
||
-- ### arithmetic operations
|
||
|
||
reserve infixl `+`:65
|
||
reserve infixl `-`:65
|
||
reserve infixl `*`:70
|
||
reserve infixl `div`:70
|
||
reserve infixl `mod`:70
|
||
|
||
reserve infix `<=`:50
|
||
reserve infix `≤`:50
|
||
reserve infix `<`:50
|
||
reserve infix `>=`:50
|
||
reserve infix `≥`:50
|
||
reserve infix `>`:50
|
||
|
||
-- ### boolean operations
|
||
|
||
reserve infixl `&&`:70
|
||
reserve infixl `||`:65
|
||
|
||
-- ### set operations
|
||
|
||
reserve infix `∈`:50
|
||
reserve infixl `∩`:70
|
||
reserve infixl `∪`:65
|
||
|
||
-- ### other symbols
|
||
precedence `|`:55
|
||
reserve notation | a:55 |
|
||
reserve infixl `++`:65
|
||
reserve infixr `::`:65
|