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 [simp]: "(⇘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 tid ?: transport_id L .
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 tid ?: transport_id L .
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 tid ?: transport_id L .
sublocale tper_bij ?: transport_partial_equivalence_rel_bijection L L id id
using partial_equivalence_rel by unfold_locales auto
end
locale transport_eq_restrict_id = fixes P :: "'a ⇒ bool"
begin
sublocale tbij ?: transport_eq_restrict_bijection P P id id
using bijection_on_self_id by (unfold_locales) fastforce+
sublocale tper_id ?: transport_partial_equivalence_rel_id "(=⇘P⇙)"
by (intro transport_partial_equivalence_rel_id.intro partial_equivalence_rel_left)
end
interpretation transport_eq_restrict_id : transport_eq_restrict_id P for P .
locale transport_eq_id
begin
sublocale tbij ?: transport_eq_bijection id id
using bijection_on_self_id by unfold_locales auto
sublocale tper_id ?: transport_partial_equivalence_rel_id "(=)"
by (intro transport_partial_equivalence_rel_id.intro partial_equivalence_rel_left)
end
interpretation transport_eq_id : transport_eq_id .
end