Theory Transport_Identity
section ‹Transport using Identity›
theory Transport_Identity
imports
Transport_Bijections
begin
paragraph ‹Summary›
text ‹Setup for Transport using the identity transport function.›
locale transport_id =
fixes L :: "'a ⇒ 'a ⇒ bool"
begin
sublocale tbij? : transport_bijection L L id id
by (intro transport_bijection.intro) auto
interpretation transport L L id id .
lemma left_Galois_eq_left: "(⇘L⇙⪅) = (≤⇘L⇙)"
by (intro ext iffI) auto
end
locale transport_reflexive_on_in_field_id =
fixes L :: "'a ⇒ 'a ⇒ bool"
assumes reflexive_on_in_field: "reflexive_on (in_field L) L"
begin
sublocale trefl_bij? : transport_reflexive_on_in_field_bijection L L id id
using reflexive_on_in_field by unfold_locales auto
end
locale transport_preorder_on_in_field_id =
fixes L :: "'a ⇒ 'a ⇒ bool"
assumes preorder_on_in_field: "preorder_on (in_field L) L"
begin
sublocale tpre_bij? : transport_preorder_on_in_field_bijection L L id id
using preorder_on_in_field by unfold_locales auto
end
locale transport_partial_equivalence_rel_id =
fixes L :: "'a ⇒ 'a ⇒ bool"
assumes partial_equivalence_rel: "partial_equivalence_rel L"
begin
sublocale tper_bij? : transport_partial_equivalence_rel_bijection L L id id
using partial_equivalence_rel by unfold_locales auto
end
interpretation transport_eq_restrict_id :
transport_eq_restrict_bijection P P id id for P :: "'a ⇒ bool"
using bijection_on_self_id by (unfold_locales) auto
interpretation transport_eq_id : transport_eq_bijection id id
using bijection_on_self_id by (unfold_locales) auto
end