29 lines
712 B
Text
29 lines
712 B
Text
/-
|
||
Copyright (c) 2014 Microsoft Corporation. All rights reserved.
|
||
Released under Apache 2.0 license as described in the file LICENSE.
|
||
|
||
Module: data.prod.decl
|
||
Author: Leonardo de Moura, Jeremy Avigad
|
||
-/
|
||
|
||
import data.unit.decl logic.eq
|
||
|
||
structure prod (A B : Type) :=
|
||
mk :: (pr1 : A) (pr2 : B)
|
||
|
||
definition pair := @prod.mk
|
||
|
||
namespace prod
|
||
notation A * B := prod A B
|
||
notation A × B := prod A B
|
||
namespace low_precedence_times
|
||
reserve infixr `*`:30 -- conflicts with notation for multiplication
|
||
infixr `*` := prod
|
||
end low_precedence_times
|
||
|
||
notation `pr₁` := pr1
|
||
notation `pr₂` := pr2
|
||
|
||
-- notation for n-ary tuples
|
||
notation `(` h `,` t:(foldl `,` (e r, prod.mk r e) h) `)` := t
|
||
end prod
|