lean2/library/general_notation.lean
Leonardo de Moura 6632a50015 refactor(library): add namespaces 'or', 'and' and 'iff'
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-04 21:25:21 -07:00

81 lines
1.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 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
precedence `¬`:40
precedence `/\`:35 -- infixr
precedence `∧`:35 -- infixr
precedence `\/`:30 -- infixr
precedence ``:30 -- infixr
precedence `<->`:25
precedence `↔`:25
precedence `=`:50
precedence `≠`:50
precedence `≈`:50 -- used for path in hott
precedence ``:50
precedence `⁻¹`:100
precedence `⬝`:75 -- infixr
precedence `▸`:75 -- infixr
-- ### types and type constructors
precedence ``:max
precedence ``:max
precedence `⊎`:25 -- infixr
precedence `×`:30 -- infixr
-- ### arithmetic operations
precedence `+`:65 -- infixl
precedence `-`:65 -- infixl; for negation, follow by rbp 100
precedence `*`:70 -- infixl
precedence `div`:70 -- infixl
precedence `mod`:70 -- infixl
precedence `<=`:50
precedence `≤`:50
precedence `<`:50
precedence `>=`:50
precedence `≥`:50
precedence `>`:50
-- ### boolean operations
precedence `&&`:70 -- infixl
precedence `||`:65 -- infixl
precedence `!`:85 -- boolean negation, follow by rbp 100
-- ### set operations
precedence `∈`:50
precedence `∅`:max
precedence `∩`:70
precedence ``:65
-- ### other symbols
precedence `|`:55 -- used for absolute value, subtypes, divisibility
precedence `++`:65 -- list append
precedence `::`:65 -- list cons