Theory Transport_Via_Partial_Galois_Connections_Equivalences_Paper
section ‹Transport Paper Guide›
theory Transport_Via_Partial_Galois_Connections_Equivalences_Paper
imports
Transport
Transport_Natural_Functors
Transport_Partial_Quotient_Types
Transport_Prototype
Transport_Lists_Sets_Examples
Transport_Dep_Fun_Rel_Examples
Transport_Typedef_Base
begin
text ‹
▪ Section 3.1: Order basics can be found in
@{theory "Transport.Binary_Relation_Properties"},
@{theory "Transport.Preorders"},
@{theory "Transport.Partial_Equivalence_Relations"},
@{theory "Transport.Equivalence_Relations"}, and
@{theory "Transport.Order_Functions_Base"}.
Theorem
▪ Section 3.2: Function relators and monotonicity can be found in
@{theory "Transport.Function_Relators"} and
@{theory "Transport.Functions_Monotone"}
▪ Section 3.3: Galois relator can be found in
@{theory "Transport.Galois_Relator_Base"}.
▪ Lemma 1: @{theory "Transport.Transport_Partial_Quotient_Types"}
(*results from Appendix*)
▪ Lemma 3: @{thm "galois_prop.Galois_right_iff_left_Galois_if_galois_prop"}
▪ Section 3.4: Partial Galois Connections and Equivalences can be found in
@{theory "Transport.Half_Galois_Property"},
@{theory "Transport.Galois_Property"},
@{theory "Transport.Galois_Connections"},
@{theory "Transport.Galois_Equivalences"}, and
@{theory "Transport.Order_Equivalences"}.
▪ Lemma 2: @{theory "Transport.Transport_Partial_Quotient_Types"}
(*results from Appendix*)
▪ Lemma 4: @{thm "galois.galois_equivalence_left_right_if_transitive_if_order_equivalence"}
▪ Lemma 5: @{thm "galois.order_equivalence_if_reflexive_on_in_field_if_galois_equivalence"}
▪ Section 4.1: Closure (Dependent) Function Relator can be found in
@{dir "Functions"}.
▪ Monotone function relator @{theory "Transport.Monotone_Function_Relator"}.
▪ Setup of construction @{theory "Transport.Transport_Functions_Base"}.
▪ Theorem 1: see @{theory "Transport.Transport_Functions"}
▪ Theorem 2: see @{thm "transport_Mono_Dep_Fun_Rel.left_Galois_iff_Dep_Fun_Rel_left_Galois_if_preorder_equivalenceI'"}
(*results from Appendix*)
▪ Lemma 6: @{thm "transport_Mono_Fun_Rel.galois_connection_left_rightI"}
▪ Lemma 7: @{thm "transport_Mono_Fun_Rel.left_Galois_iff_Fun_Rel_left_GaloisI"}
▪ Theorem 7: @{thm "transport_Mono_Dep_Fun_Rel.galois_connection_left_right_if_mono_if_galois_connectionI'"}
▪ Theorem 8: @{thm "transport_Mono_Dep_Fun_Rel.left_Galois_iff_Dep_Fun_Rel_left_Galois_if_mono_if_galois_connectionI'"}
▪ Lemma 8 @{thm "transport_Mono_Dep_Fun_Rel.left_rel_eq_tdfr_leftI_if_equivalencesI"}
▪ Lemma 9: @{thm "transport_Mono_Fun_Rel.left_rel_eq_tfr_leftI"}
▪ Section 4.2: Closure Natural Functors can be found in
@{dir "Natural_Functors"}.
▪ Theorem 3: see @{theory "Transport.Transport_Natural_Functors"}
▪ Theorem 4: @{thm "transport_natural_functor.left_Galois_eq_Frel_left_Galois"}
▪ Section 4.3: Closure Compositions can be found in @{dir "Compositions"}.
▪ Setup for simple case in @{theory "Transport.Transport_Compositions_Agree_Base"}
▪ Setup for generic case in @{theory "Transport.Transport_Compositions_Generic_Base"}
▪ Theorem 5: @{thm "transport_comp.preorder_equivalenceI"} and
@{thm "transport_comp.partial_equivalence_rel_equivalenceI"}
▪ Theorem 6: @{thm "transport_comp.left_Galois_eq_comp_left_GaloisI"}
(*results from Appendix*)
▪ Theorem 9: see @{dir "Compositions/Agree"}, results in
@{locale transport_comp_same}.
▪ Theorem 10: @{thm "transport_comp.galois_connection_left_right_if_galois_equivalenceI"}
▪ Theorem 11: @{thm "transport_comp.left_Galois_eq_comp_left_GaloisI'"}
▪ Section 5:
▪ Implementation @{theory "Transport.Transport_Prototype"}:
Note: the command "trp" from the paper is called @{command trp_term} and the
method "trprover" is called "trp\_term\_prover".
▪ Example 1: @{theory "Transport.Transport_Lists_Sets_Examples"}
▪ Example 2: @{theory "Transport.Transport_Dep_Fun_Rel_Examples"}
▪ Example 3: 🌐‹https://github.com/kappelmann/Isabelle-Set/blob/fdf59444d9a53b5279080fb4d24893c9efa31160/Isabelle_Set/Integers/Integers_Transport.thy›
▪ Proof: Partial Quotient Types are a special case:
@{theory "Transport.Transport_Partial_Quotient_Types"}
▪ Proof: Typedefs are a special case:
@{theory "Transport.Transport_Typedef_Base"}
▪ Proof: Set-Extensions are a special case: 🌐‹https://github.com/kappelmann/Isabelle-Set/blob/fdf59444d9a53b5279080fb4d24893c9efa31160/Isabelle_Set/Set_Extensions/Set_Extensions_Transport.thy›
▪ Proof: Bijections as special case:
@{theory "Transport.Transport_Bijections"}
›
end