Chains and flags #
This file defines chains for an arbitrary relation and flags for an order and proves Hausdorff's Maximality Principle.
Main declarations #
IsChain s: A chainsis a set of comparable elements.maxChain_spec: Hausdorff's Maximality Principle.Flag: The type of flags, aka maximal chains, of an order.
Notes #
Originally ported from Isabelle/HOL. The original file was written by Jacques D. Fleuriot, Tobias Nipkow, Christian Sternagel.
Chains #
SuperChain s t means that t is a chain that strictly includes s.
Equations
- SuperChain r s t = (IsChain r t ∧ s ⊂ t)
Instances For
Given a set s, if there exists a chain t strictly including s, then SuccChain s
is one of these chains. Otherwise it is s.
Equations
- SuccChain r s = if h : ∃ (t : Set α), IsChain r s ∧ SuperChain r s t then Classical.choose h else s
Instances For
Predicate for whether a set is reachable from ∅ using SuccChain and ⋃₀.
- succ: ∀ {α : Type u_1} {r : α → α → Prop} {s : Set α}, ChainClosure r s → ChainClosure r (SuccChain r s)
- union: ∀ {α : Type u_1} {r : α → α → Prop} {s : Set (Set α)}, (∀ a ∈ s, ChainClosure r a) → ChainClosure r (⋃₀ s)
Instances For
Hausdorff's maximality principle
There exists a maximal totally ordered set of α.
Note that we do not require α to be partially ordered by r.
Flags #
The type of flags, aka maximal chains, of an order.
- carrier : Set α
The
carrierof a flag is the underlying set. By definition, a flag is a chain
- max_chain' : ∀ ⦃s_1 : Set α⦄, IsChain (fun (x x_1 : α) => x ≤ x_1) s_1 → s.carrier ⊆ s_1 → s.carrier = s_1
By definition, a flag is a maximal chain
Instances For
Equations
- Flag.instBoundedOrderSubtypeMemFlagToLEInstMembershipInstSetLikeFlagLe s = Subtype.boundedOrder (_ : ⊥ ∈ s) (_ : ⊤ ∈ s)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.