/- 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