import Spa.Lattice namespace Spa theorem boundedChains_of_subsingleton (α : Type*) [Preorder α] [Subsingleton α] (n : ℕ) : BoundedChains α n := fun c => by by_contra hc push_neg at hc exact (c.step ⟨0, by omega⟩).ne (Subsingleton.elim _ _) instance : FiniteHeightLattice PUnit where bot := PUnit.unit top := PUnit.unit height := 0 longestChain := { series := RelSeries.singleton _ PUnit.unit head_series := rfl last_series := rfl length_series := rfl } chains_bounded := boundedChains_of_subsingleton PUnit 0 end Spa