(* Author: Tobias Nipkow, 2007 *) section "DLO" theory DLO imports QE Complex_Main begin subsection "Basics" class dlo = linorder + assumes dense: "x < z ⟹ ∃y. x < y ∧ y < z" and no_ub: "∃u. x < u" and no_lb: "∃l. l < x" instance real :: dlo proof fix r s :: real let ?v = "(r + s) / 2" assume "r < s" hence "r < ?v ∧ ?v < s" by simp thus "∃v. r < v ∧ v < s" .. next fix r :: real have "r < r + 1" by arith thus "∃s. r < s" .. next fix r :: real have "r - 1 < r" by arith thus "∃s. s < r" .. qed