Theory HOL_Algebra_Alignment_Orders
subsection ‹Alignment With Order Definitions from HOL-Algebra›
theory HOL_Algebra_Alignment_Orders
  imports
    "HOL-Algebra.Order"
    HOL_Alignment_Orders
begin
named_theorems HOL_Algebra_order_alignment
context equivalence
begin
lemma reflexive_on_carrier [HOL_Algebra_order_alignment]:
  "reflexive_on (carrier S) (.=)"
  by blast
lemma transitive_on_carrier [HOL_Algebra_order_alignment]:
  "transitive_on (carrier S) (.=)"
  using trans by blast
lemma preorder_on_carrier [HOL_Algebra_order_alignment]:
  "preorder_on (carrier S) (.=)"
  using reflexive_on_carrier transitive_on_carrier by blast
lemma symmetric_on_carrier [HOL_Algebra_order_alignment]:
  "symmetric_on (carrier S) (.=)"
  using sym by blast
lemma partial_equivalence_rel_on_carrier [HOL_Algebra_order_alignment]:
  "partial_equivalence_rel_on (carrier S) (.=)"
  using transitive_on_carrier symmetric_on_carrier by blast
lemma equivalence_rel_on_carrier [HOL_Algebra_order_alignment]:
  "equivalence_rel_on (carrier S) (.=)"
  using reflexive_on_carrier partial_equivalence_rel_on_carrier by blast
end
lemma equivalence_iff_equivalence_rel_on_carrier [HOL_Algebra_order_alignment]:
  "equivalence S ⟷ equivalence_rel_on (carrier S) (.=⇘S⇙)"
  using equivalence.equivalence_rel_on_carrier
  by (blast dest: intro!: equivalence.intro dest: symmetric_onD transitive_onD)
context partial_order
begin
lemma reflexive_on_carrier [HOL_Algebra_order_alignment]:
  "reflexive_on (carrier L) (⊑)"
  by blast
lemma transitive_on_carrier [HOL_Algebra_order_alignment]:
  "transitive_on (carrier L) (⊑)"
  using le_trans by blast
lemma preorder_on_carrier [HOL_Algebra_order_alignment]:
  "preorder_on (carrier L) (⊑)"
  using reflexive_on_carrier transitive_on_carrier by blast
lemma antisymmetric_on_carrier [HOL_Algebra_order_alignment]:
  "antisymmetric_on (carrier L) (⊑)"
  by blast
lemma partial_order_on_carrier [HOL_Algebra_order_alignment]:
  "partial_order_on (carrier L) (⊑)"
  using preorder_on_carrier antisymmetric_on_carrier by blast
end
end