The Theory pair
Parents
misc
Children
nat.gif
Constants
IsPairRep
('a rarr.gif 'b rarr.gif BOOL) rarr.gif BOOL
Snd
'a cross.gif 'b rarr.gif 'b
Fst
'a cross.gif 'b rarr.gif 'a
$,
'a rarr.gif 'b rarr.gif 'a cross.gif 'b
Uncurry
('a rarr.gif 'b rarr.gif 'c) rarr.gif 'a cross.gif 'b rarr.gif 'c
Curry
('a cross.gif 'b rarr.gif 'c) rarr.gif 'a rarr.gif 'b rarr.gif 'c
Types
'1 cross.gif '2
Fixity
Right Infix 150:
, cross.gif
Terminators
cross.gif
Definitions
IsPairRep
is_pair_rep_def
turnstil.gif exist.gif comma fst snd
fillbull.gif (forall.gif x y
fillbull.gif IsPairRep (comma x y)
filland.gif fst (comma x y) = x
filland.gif snd (comma x y) = y)
filland.gif (forall.gif x y a b
fillbull.gif comma a b = comma x y equiv.gif a = x and.gif b = y)
filland.gif (forall.gif pbull.gif IsPairRep p ruarr.gif comma (fst p) (snd p) = p)
cross.gif
cross.gif_def
turnstil.gif exist.gif fbull.gif TypeDefn IsPairRep f
,
Fst
Snd
pair_ops_def
turnstil.gif (forall.gif x ybull.gif Fst (x, y) = x and.gif Snd (x, y) = y)
filland.gif (forall.gif x y a bbull.gif (a, b) = (x, y) equiv.gif a = x and.gif b = y)
filland.gif (forall.gif pbull.gif (Fst p, Snd p) = p)
Uncurry
uncurry_def
turnstil.gif forall.gif f x ybull.gif Uncurry f (x, y) = f x y
Curry
curry_def
turnstil.gif forall.gif f x ybull.gif Curry f x y = f (x, y)
Theorems
pair_clauses
turnstil.gif forall.gif x y a b p fu fc
fillbull.gif Fst (x, y) = x
filland.gif Snd (x, y) = y
filland.gif ((a, b) = (x, y) equiv.gif a = x and.gif b = y)
filland.gif (Fst p, Snd p) = p
filland.gif Curry fc x y = fc (x, y)
filland.gif Uncurry fu (x, y) = fu x y
filland.gif Uncurry fu p = fu (Fst p) (Snd p)
filland.gif ((a, b) = p equiv.gif a = Fst p and.gif b = Snd p)
filland.gif (p = (a, b) equiv.gif Fst p = a and.gif Snd p = b)

up quick index

V