category partial orders
play

Category-Partial Orders Prologue and Category- partial Proof - PowerPoint PPT Presentation

C-POs and Proof Principles Ralf Hinze Category-Partial Orders Prologue and Category- partial Proof Principles orders Split c-pos Monic c-pos Ralf Hinze Initial objects Computing Laboratory, University of Oxford Proof Wolfson


  1. C-POs and Proof Principles Ralf Hinze Category-Partial Orders Prologue and Category- partial Proof Principles orders Split c-pos Monic c-pos Ralf Hinze Initial objects Computing Laboratory, University of Oxford Proof Wolfson Building, Parks Road, Oxford, OX1 3QD, England principles ralf.hinze@comlab.ox.ac.uk Coproducts http://www.comlab.ox.ac.uk/ralf.hinze/ Initial algebras June 2008 Examples Epilogue 1 / 43

  2. C-POs and Proof Principles Ralf Hinze Prologue Category- partial data List = [ ] | Nat : List orders Split c-pos append :: ( List , List ) → List Monic append ([ ] , bs ) = bs c-pos append ( a : as , bs ) = a : append ( as , bs ) Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 2 / 43

  3. C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders ∀ x : List . P ( x ) Split c-pos Monic c-pos P ( x ) append ( x , [ ]) = x ⇐ ⇒ Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 3 / 43

  4. C-POs and Proof Case P ([ ]) : Principles Ralf Hinze append ([ ] , [ ]) Prologue = { definition of append } Category- partial [ ] orders Split c-pos Case P ( a : as ) : Monic c-pos Initial append ( a : as , [ ]) objects Proof = { definition of append } principles a : append ( as , [ ]) Coproducts Initial = { ex hypothesi } algebras Examples a : as Epilogue 4 / 43

  5. C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders append :: ( List , List ) → List Split c-pos append ( as , bs ) = foldr (:) bs as Monic c-pos Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 5 / 43

  6. C-POs and Proof Principles Ralf Hinze Prologue Category- partial append ( as , [ ]) orders Split c-pos { definition of append } = Monic foldr (:) [ ] as c-pos Initial = { reflection: foldr (:) [ ] = id } objects Proof as principles Coproducts Initial algebras Examples Epilogue 6 / 43

  7. C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders Split c-pos Cat + ⊆ ? Monic c-pos Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 7 / 43

  8. Ordering objects C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders A category-partial order is a pair � C , ⊑� where Split c-pos ◮ C is a category and Monic c-pos ◮ ⊑ is a subcategory of C that is a partial order on the Initial objects objects of C . Proof principles Coproducts Initial algebras Examples Epilogue 8 / 43

  9. Ordering morphisms C-POs and Proof Principles Ralf Hinze Let f : A → B and g : C → D , then Prologue Category- partial f ⊑ g orders Split c-pos iff A ⊑ C , B ⊑ D and the following diagram commutes. Monic c-pos f Initial ≻ B A objects Proof ⊑ B,D · f = g · ⊑ A,C principles ⇐ ⇒ Coproducts ≻ D C Initial g algebras Examples Epilogue 9 / 43

  10. Properties C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders ◮ ⊑ on morphisms is a partial order. Split c-pos ◮ Let f, g : A → B , then Monic c-pos Initial f ⊑ g f = g objects ⇐ ⇒ Proof principles Coproducts Initial algebras Examples Epilogue 10 / 43

  11. Examples C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders Split c-pos ◮ � Set , ⊆� : f ⊑ g iff f is the restriction of g to A . Monic c-pos ◮ Functor categories: D C is a c-po if D is one. Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 11 / 43

  12. C-POs and Proof Principles Ralf Hinze Prologue Category- In Set : partial B orders ≻ ⊆ f Split c-pos f = ⊆ ⇐ ⇒ ≻ Monic c-pos ≻ A C ⊆ Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 12 / 43

  13. Split transitivity C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders Let f : A → B , then Split c-pos Monic ⊑ B,C · f = ⊑ A,C f = ⊑ A,B ⇐ ⇒ c-pos Initial objects A c-po that satisfies this property is called a split c-po . Proof principles Coproducts Initial algebras Examples Epilogue 13 / 43

  14. An equivalent formulation C-POs and Proof Principles Ralf Hinze Let f : A → B , then Prologue Category- f ⊑ id C f = ⊑ A,B partial ⇒ = orders Split c-pos Monic c-pos Initial objects f ≻ B A Proof principles Coproducts Initial ≻ C C algebras id C Examples Epilogue 14 / 43

  15. C-POs and Proof Principles Ralf Hinze Prologue Category- partial In Set the inclusion morphisms are monos. orders Split c-pos ⊆ · f 1 = ⊆ · f 2 f 1 = f 2 ⇐ ⇒ Monic c-pos Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 15 / 43

  16. Monic c-pos C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders A c-po is called a monic c-po if the arrows ⊑ A,B are monos: Split c-pos Let f 1 , f 2 : A → B in C , then Monic c-pos ⊑ B,C · f 1 = ⊑ B,C · f 2 f 1 = f 2 Initial ⇐ ⇒ objects Proof principles Coproducts Initial algebras Examples Epilogue 16 / 43

  17. Properties C-POs and Proof Principles Ralf Hinze Prologue In a monic c-po the lower arrow uniquely determines the Category- partial upper arrow. orders Split c-pos f Monic ≻ B A c-pos Initial objects Proof ≻ D C principles g Coproducts Initial algebras Examples Epilogue 17 / 43

  18. Contracts C-POs and Proof Principles Ralf Hinze Let f : A → B , then Prologue Category- f ∈ R → S ∃ g : R → S . g ⊑ f : ⇐ ⇒ partial orders Split c-pos Think of R → S as a contract with precondition R and Monic postcondition S . But note that the postcondition can’t be c-pos weaker than B . Initial objects ≻ S R Proof principles Coproducts Initial ≻ B A algebras f Examples Epilogue 18 / 43

  19. An aside: The category of contracts C-POs and Proof Principles Ralf Hinze ◮ Identity: Prologue Category- R ⊑ A id A ∈ R → R ⇐ ⇒ partial orders Split c-pos ◮ Composition: Let f : A → B and g : B → C , then Monic c-pos f ∈ R → S ∧ g ∈ S → T g · f ∈ R → T ⇒ Initial = objects Proof principles ≻ R ≻ S ≻ T R R Coproducts Initial algebras A ≻ A A ≻ B ≻ C Examples id A f g Epilogue 19 / 43

  20. Initial objects C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders Split c-pos Monic ¡ A c-pos ≻ A 0 Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 20 / 43

  21. Universal property C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders Split c-pos Monic c-pos ¡ A = h h : 0 → A ⇐ ⇒ Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 21 / 43

  22. Reflection C-POs and Proof Principles Ralf Hinze Prologue Category- partial orders Set A = 0 and h = id 0 . Split c-pos We obtain Monic c-pos ¡ 0 = id 0 Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 22 / 43

  23. Fusion C-POs and Proof Principles Ralf Hinze Let f : B → A and set h = f · ¡ B : 0 → A . We obtain Prologue Category- partial ¡ A = f · ¡ B f : B → A ⇐ = orders Split c-pos Monic c-pos Initial 0 objects Proof principles ¡ A ¡ B Coproducts Initial algebras ≻ � ≻ A B Examples f Epilogue 23 / 43

  24. The mother of all proof principles C-POs and Proof Principles Ralf Hinze Prologue f : A → R g : B → R Category- f · ¡ A = g · ¡ B partial orders Split c-pos Monic c-pos 0 Initial ¡ A objects ¡ B ≺ Proof ≻ principles A ¡ R B Coproducts Initial g f algebras ≻ � ≺ R Examples Epilogue 24 / 43

  25. C-POs and Proof Principles Ralf Hinze Prologue Category- A special case: Set B = R and g = id R . partial orders We obtain Split c-pos f : A → R Monic f · ¡ A = ¡ R c-pos So, the proof principle implies fusion. Initial objects Proof principles Coproducts Initial algebras Examples Epilogue 25 / 43

  26. C-POs and Proof Principles A more special case: Set f = ⊑ A,R . Ralf Hinze We obtain Prologue A ⊑ R A ⊑ R Category- ¡ A ⊑ ¡ R ¡ R ∈ 0 → A partial orders Split c-pos Monic c-pos ¡ A Initial 0 ≻ A objects � Proof � � principles � � Coproducts 0 ≻ R Initial ¡ R algebras Examples Epilogue 26 / 43

  27. C-POs and Proof Principles Ralf Hinze An even more special case: Set R = 0 . Prologue We obtain Category- A ⊑ 0 A ⊑ 0 partial orders ¡ A ⊑ ¡ 0 ¡ 0 ∈ 0 → A Split c-pos Monic c-pos Initial Recall that ¡ 0 = id 0 . So, in a split c-po this implies: objects Proof A ⊑ 0 principles Coproducts A = 0 Initial algebras Examples Epilogue 27 / 43

  28. C-POs and Proof Principles Ralf Hinze An even more special case: Set R = 0 . Prologue We obtain Category- A ⊑ 0 A ⊑ 0 partial orders ¡ A ⊑ ¡ 0 ¡ 0 ∈ 0 → A Split c-pos Monic c-pos Initial Recall that ¡ 0 = id 0 . So, in a split c-po this implies: objects Proof A ⊑ 0 principles Coproducts A = 0 Initial algebras Examples Epilogue 28 / 43

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend