This file contains convenience theorems around WellFoundedRelations.
Right now, it only features minimal_elem_for_prop_exists that returns the minimal element
of a WellFoundedRelation that fulfills a given property. This is basically the well-ordering principle.
theorem
minimal_element_for_property_and_relation
{α : Type u}
[rel : WellFoundedRelation α]
(prop : α → Prop)
(a : α)
(ha : prop a)
:
If a there is an element such that a certain property holds, then there is a smallest such element.
theorem
minimal_element_for_property_and_transitive_relation
{α : Type u}
[rel : WellFoundedRelation α]
(trans : ∀ (a b c : α), WellFoundedRelation.rel a b → WellFoundedRelation.rel b c → WellFoundedRelation.rel a c)
(prop : α → Prop)
(a : α)
(ha : prop a)
:
If a there is an element such that a certain property holds, then there is a smallest such element that is a predecessor of the original element.